我正在学习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?
答案 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(带指针规范)