有多少HTTP动词?

时间:2016-12-31 19:27:08

标签: http methods request protocols

我算9 HTTP request methods

GET
HEAD
POST
PUT
DELETE
CONNECT
OPTIONS
TRACE
PATCH

上述内容来自:https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods

是吗?这会改变吗?

2 个答案:

答案 0 :(得分:13)

注册表

HTTP 1.1规范定义了Hypertext Transfer Protocol (HTTP) Method Registry。截至2017-01,显示39个条目:

  • ACL
  • BASELINE-CONTROL
  • BIND
  • CHECKIN
  • CHECKOUT
  • CONNECT
  • COPY
  • DELETE
  • GET
  • HEAD
  • LABEL
  • LINK
  • LOCK
  • MERGE
  • MKACTIVITY
  • MKCALENDAR
  • MKCOL
  • MKREDIRECTREF
  • MKWORKSPACE
  • MOVE
  • OPTIONS
  • ORDERPATCH
  • PATCH
  • POST
  • PRI
  • PROPFIND
  • PROPPATCH
  • PUT
  • REBIND
  • REPORT
  • SEARCH
  • TRACE
  • UNBIND
  • 取消签
  • UNLINK
  • UNLOCK
  • 更新
  • UPDATEREDIRECTREF
  • 版本控制

HTTP 1.0

HTTP 1.0定义了三种方法(“动词”):

  • GET
    ...检索任何信息......由Request-URI标识......
  • POST
    ...请求目标服务器接受 请求中包含的实体作为新的下属 请求行中的Request-URI标识的资源...向公告板,新闻组,邮件列表发送消息...提供数据块...通过追加操作扩展数据库...
  • HEAD
    ...与GET相同,但服务器不得 在响应中返回一个消息体...用于获取有关请求所暗示的实体的元信息,而不转移实体主体本身......

HTTP 1.1

HTTP 1.1在RFC 2068中正式定义。该规范增加了五种方法。

  • 选项
    ...有关该信息的请求 请求/响应链上可用的通信选项...确定与资源相关的选项和/或要求, 或服务器的功能,而不暗示资源操作 或启动资源检索
  • PUT
    ...请求将所包含的实体存储在 提供了Request-URI。如果......已经 现有资源,封闭实体应该被视为一个 驻留在原始服务器上的修改版本......
  • 删除
    ...删除资源 由Request-URI ...
  • 标识
  • TRACE
    ...环 - 请求消息的后面......
  • CONNECT
    ...用于可以动态切换为隧道的代理(例如SSL隧道......

HTTP扩展

其他协议扩展HTTP以定义其他方法/动词。

  • PATCH
    • 对资源应用部分修改
    • RFC 5789
    • 定义
  • WebDAV指定了另外七种方法:
    • PROPFIND
    • PROPPATCH
    • MKCOL
    • COPY
    • MOVE
    • LOCK
    • UNLOCK

HTTP / 2

HTTP/2RFC 7540中定义。 Section 3.5定义了PRI方法。

  • PRI
    在HTTP / 2中,每个端点都需要发送连接前言作为正在使用的协议的最终确认,并建立HTTP / 2连接的初始设置。 ...连接前言以字符串“PRI *开头 HTTP / 2.0 \ r \ n \ r \ nSM \ r \ n \ r \ n“)”)...

徐大淦

  

这会改变吗?

不太可能。

鉴于Web RPCSOAP的广泛使用,现在RESTful服务越来越受欢迎,为现有的基本动词带来了新的生命,几乎没有必要设计新的动词在HTTP级别。在人们需要自己特定于域的有意义动词的地方,他们可以嵌入通过HTTP传递的消息中。

我希望我们很快就会看到更多的HTTP方法变得流行。

答案 1 :(得分:2)

参见规范:

“在本规范范围之外的其他方法已经标准化以用于HTTP。所有这些方法都应该在IANA维护的”超文本传输​​协议(HTTP)方法注册表“中注册,如第8.1节中所定义。 “。 - https://greenbytes.de/tech/webdav/rfc7231.html#rfc.section.4.1.p.7>

IANA registry包含更多内容。