访问一个网站,就代表了客户端和服务器的一个互动过程。在这个过程中,势必涉及到数据和状态的变化。
互联网通信协议HTTP协议,是一个无状态协议。这意味着,所有的状态都保存在服务器端。因此,如果客户端想要操作服务器,必须通过某种手段,让服务器端发生”状态转化”(State Transfer)。而这种转化是建立在表现层之上的,所以就是”表现层状态转化”。
客户端用到的手段,只能是HTTP协议。具体来说,就是HTTP协议里面,四个表示操作方式的动词:GET、POST、PUT、DELETE。它们分别对应四种基本操作:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源。
(1)每一个URI代表一种资源;
(2)客户端和服务器之间,传递这种资源的某种表现层;
(3)客户端通过四个HTTP动词,对服务器端资源进行操作,实现”表现层状态转化”。
Jquery里的POST和GET都是对ajax方法的封装,你可以自己进行封装。
$.ajax({ url: 'www.website.com', type: 'DELETE', data: {} }); |
执行后就会有Request Method:DELETE的http头被传到后端。OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE都是可以使用的Http1.1(连IE7都支持,其他浏览器不可能不支持)。至于你说的实现问题,我认为不存在,只是你服务端有没有做相应的处理,HTTP是协议不是技术。
方法GET和HEAD应该被所有的通用WEB服务器支持,其他所有方法的实现是可选的。
W3C有明确的说明。
http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html
参考:
http://www.ruanyifeng.com/blog/2011/09/restful
https://segmentfault.com/q/1010000002581227
© admin for 可乐吧, 2016. |
Permalink |
No comment |
Add to
del.icio.us
Post tags:
Feed enhanced by Better Feed from Ozh