此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。
TRACE 请求方法
HTTP 方法TRACE 沿着通往目标资源的路径进行信息回环测试。
请求的最终接收者应将收到的信息(不包括可能包括敏感数据的字段)作为200 OK 响应的信息主体反映给客户端,其Content-Type 为message/http。最终接收者是源服务器或第一个在请求中收到Max-Forwards 值为0 的服务器。
客户端不能在请求中包含内容,或生成可能包括敏感数据的标头(如用户凭证或 cookie)。并非所有服务器都实现了TRACE 方法,且某些服务器拥有者出于安全性考虑禁止了TRACE 方法的使用。在这些情况下,会发送405 Method Not Allowed客户端错误响应。
In this article
语法
http
TRACE <request-target>["?"<query>] HTTP/1.1<request-target>当与
Host标头提供的信息结合时,可识别请求的目标资源。在向源服务器发送的请求中,此路径为绝对路径(例如/path/to/file.html);而在向代理服务器发送的请求中,此路径为绝对 URL(例如http://www.example.com/path/to/file.html)。<query>可选可选查询组件,以问号
?开头。常用于携带以key=value对形式呈现的标识信息。
示例
>成功的 TRACE 请求
可以使用curl 执行TRACE 请求:
bash
curl -v -X TRACE example.com它产生了如下 HTTP 请求:
http
TRACE / HTTP/1.1Host: example.comUser-Agent: curl/8.7.1Accept: */*服务端会向客户端发送包含请求头信息的200 OK 响应:
http
HTTP/1.1 200 OKContent-Length: 123Date: Wed, 04 Sep 2024 11:50:24 GMTServer: Apache/2.4.59 (Unix)Content-Type: message/httpTRACE / HTTP/1.1Host: example.comUser-Agent: curl/8.7.1Accept: */*规范
| Specification |
|---|
| HTTP Semantics> # TRACE> |
浏览器兼容性
浏览器不会对用户主动发起的操作使用TRACE 方法,因此“浏览器兼容性”在此不适用。