HTTPQUERY
English

Allow

用法

服务器通过包含 Allow 来说明某个资源支持哪些请求方法。在 405 Method Not Allowed 响应中该头是必需的,服务器借此告知客户端所请求 URI 的有效方法。

该头也出现在对 OPTIONS 请求的响应中。OPTIONS 请求要求服务器描述某个资源可用的通信选项,Allow 则在响应中提供所允许方法的列表。

其值是一个以逗号分隔的标准 HTTP 方法名称列表。该列表反映资源在响应时刻所接受的方法。空的 Allow 头表示当前不接受任何方法,这在服务器临时限制对某资源的访问时会出现。

Allow 头描述的是目标资源,而非整个服务器。同一服务器上的不同资源常常支持不同的方法集合。集合端点可能接受 GET 和 POST,而单个资源支持 GET、PUT 和 DELETE。

method-list

一个以逗号分隔的 HTTP 方法名称列表。常见值包括:

Allow: GET, HEAD, POST

示例

客户端向一个只支持 GET 和 POST 的资源发送 DELETE 请求。服务器以 405 作答,并包含列出有效方法的 Allow 头。

HTTP/1.1 405 Method Not Allowed
Allow: GET, POST
Content-Type: application/json

对 OPTIONS 请求的响应展示了资源接受的所有方法。当支持 GET 时,HEAD 方法隐式可用。

HTTP/1.1 200 OK
Allow: GET, HEAD, PUT, DELETE
Content-Length: 0

POST 之后的 201 Created 响应包含 Allow,用于指明新创建资源上可用的方法。

HTTP/1.1 201 Created
Location: /items/42
Allow: GET, PUT, DELETE