http - 为什么不使用其余的 HTTP 动词?

标签 http browser protocols http-verbs

大多数时候,网站主要只使用GETPOST 来进行所有操作,然而seven more verbs在那里。他们以前在哪里使用但现在不那么多了?

或者可能是因为某些浏览器无法识别其他动词?如果是这样的话,为什么浏览器供应商选择实现一半的协议(protocol)?

[更新]

我发现这篇文章很好地总结了这种情况:Why REST failed .

最佳答案

HTML 规范是一个大罪魁祸首,它只真正允许 GET、POST 和 HEAD。虽然它们得到了相当多的使用,但没有直接在浏览器中使用那么多。

PUT 和 DELETE 等其他 crud-verbs 最常见的用途是在 REST 服务和 WebDAV 中。

以后您会看到更多 OPTIONS,因为它被 CORS 规范(跨域 xmlhttprequest)使用。

TRACE 几乎无处不在,因为它会带来相当大的安全风险。 CONNECT 肯定被代理使用了很多。

补丁是全新的。虽然他们决定将它添加到列表中(但不是 PROPFIND、MKCOL、ACL、LOCK 等)对我来说很奇怪,但我确实认为我们将来会看到它更多地出现在 RESTful 服务中。

附录:原始浏览器同时使用 GET 和 PUT(后者用于更新网页)。后来的浏览器几乎变成只读的,直到表单和 POST 请求进入规范。

关于http - 为什么不使用其余的 HTTP 动词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5868566/

相关文章:

rest - ETag 和集合

c# - 放置后如何从 philips hue 桥获取 http json 响应

linux - 你如何编写自己的 IP 协议(protocol)? (假设TCP和UDP都不适合)

Laravel 翻译 json HTTP 响应消息

http - 带有错误处理的 Golang 优雅 HTTP 服务器关闭

php - Wordpress 页面无法为少数用户正确呈现

javascript - 什么内容类型在浏览器中执行 javascript?

javascript - AngularJS 使用浏览器 URL 历史记录维护状态

protocols - 聊天室软件的最佳开放协议(protocol)是什么?

swift - 更改方法的协议(protocol)返回类型