其他服务应该只使用4种http方法吗?

时间:2014-11-13 18:16:15

标签: rest http http-method postman

我正在学习REST并且对它有一些了解。

我知道有超过4种http方法: PUT,GET,POST,DELETE,HEAD,OPTIONS,CONNECT。 参考:http://www.w3schools.com/tags/ref_httpmethods.asp

我已安装postman插件并发现还有其他方法: COPY,LINK,UNLINK,PURGE。 参考:https://chrome.google.com/webstore/detail/postman-rest-client/fdmmgilgnpjigdojojpjoooidkmcomcm?hl=en

如果这些也是http方法,有人可以给我一个参考网址来查看这些文档吗?

来到我的实际问题: 是否应该仅使用PUT,GET,POST和DELETE构建RESTful Web服务,因为Internet上的许多网站仅使用这4种HTTP方法来解释REST?

2 个答案:

答案 0 :(得分:2)

简答:不。但是,首先考虑Julian Reschke的建议:RFC 2616已经死了。看看这些文章:

当然你可以使用其他方法。例如,有PATCH方法,您应该将其用于部分更新。根据RFC5789,PUT方法不应进行部分更新。

  

PUT方法已经定义为使用完整的新主体覆盖资源,并且不能重复使用以进行部分更改。 (http://www.ietf.org/rfc/rfc5789.txt)。

这取决于方法语义以及这些语义是否适用于您的REST服务。还有一个例子:假设您的RESTful服务的客户端想要请求与资源相关的元数据而不是其表示(数据本身)。你怎么能这样做?在这种情况下,您可以使用HEAD方法仅显示与此资源关联的元数据(例如,其字段/属性)。

更新答案以包含指向RFC 7231的链接。如果您想了解有关HTTP方法及其语义的更多信息,请点击此链接。

答案 1 :(得分:0)

a)不要看RFC 2616.它已经过时了。

b)已注册的HTTP方法列表在此处:http://www.iana.org/assignments/http-methods/http-methods.xhtml(带指针规范)