【问题标题】:Should the rest services use only 4 http methods?其他服务应该只使用 4 个 http 方法吗?
【发布时间】:2015-01-11 00:02:14
【问题描述】:

我正在学习 REST,并且对它有所了解。

我知道http方法不止4种: 放置、获取、发布、删除、头部、选项、连接。 参考:http://www.w3schools.com/tags/ref_httpmethods.asp

我已经安装了邮递员插件,发现还有其他方法,比如: 复制、链接、取消链接、清除。 参考:https://chrome.google.com/webstore/detail/postman-rest-client/fdmmgilgnpjigdojojpjoooidkmcomcm?hl=en

如果这些也是 http 方法,有人可以给我一个参考 url 来浏览这些文档吗?

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

【问题讨论】:

  • 我不担心负 cmets。但非常感谢它背后的任何解释。

标签: rest http http-method postman


【解决方案1】:

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

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

【讨论】:

  • 谢谢朱利安,这很有帮助。
【解决方案2】:

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 2012-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-14
    • 1970-01-01
    • 1970-01-01
    • 2019-02-04
    • 1970-01-01
    相关资源
    最近更新 更多