而不是通过POST方法令牌执行所有服务器操作(并且内容类型设置为json)。
我在这里做了一些研究,我指的是ietf文档中提到的方法令牌。
http://tools.ietf.org/html/rfc2616#section-5.1.1
https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest
我没有看到使用所有其他服务器类型请求的好处。我知道他们被使用了,特别是在这里看到Backbone使用的这种兴趣:
var methodMap = {
'create': 'POST',
'update': 'PUT',
'patch': 'PATCH',
'delete': 'DELETE',
'read': 'GET'
};
这些属性最终会传递给xhr open方法,您可以在我上面发布的链接中阅读这些方法。
实际上MDN文章几乎没有任何信息,而W3文章似乎有点深奥。
答案 0 :(得分:2)
您所描述的是一种名为Representational State Transfer(REST)的应用程序设计理念。这种理念远比仅使用多种请求方法更具包容性。它还涵盖了这样一种想法,即每种类型的数据都需要自己的URL,逻辑结构应该如何构成URL以及查询参数应该属于什么以及URL路径应该是什么。 REST是与语义Web相关的最早的想法之一 - 网站应该像人类一样容易被机器读取(或者换句话说,网站应该易于被开发人员理解的想法,因为它是普通用户)。
您可以在此处阅读描述REST的原始论文:http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm
REST实际上只是整篇论文的一章。本文描述了理想情况下Web架构应该是什么样的。
简短的回答当然是否定的。从技术上讲,你被允许做你想做的任何事情。实际上,当REST的想法首次引入时,在某些浏览器上没有简单的方法来执行PUT和DELETE请求。所以人们坚持GET和POST,并且HTTP规范专门更新,以使GET和POST具有RESTful意义。
HTTP规范建议 GET仅用于无效操作(没有副作用的请求),而每当请求导致服务器中的某些内容发生变化时,都应使用POST。但是开发人员一直在使用GET来更新数据库,因为您可以在浏览器的URL输入字段中构建查询。 RESTful方式是仅允许POST请求更新数据库(或将任何内容保存到文件中)。
优点是基本上允许开发人员将Web视为API。允许机器读取网页允许使用mashup,创建移动应用程序作为前端等。
一个好的API或库是一致的。一致的API更易于使用,更易于记忆,并且不需要开发人员过于频繁地查找文档。 REST尝试通过为请求类型提供真正的含义来提供这种一致性。因此,如果您看到PUT请求,则无需猜测它正在做什么。
因此,作为程序员,不仅要尽可能多地使用REST,而且要尽可能多地说服其他程序员创建RESTful网站,这对您有利。如果所有网站都是RESTful,那么编写用于在线数据进行智能操作的脚本变得更加容易。
另一方面,作为程序员,您也可以自由地反对其他人的想法。