TRACE
HTTP 方法
指定 HTTP 方法 TRACE
TRACE方法请求对请求消息进行应用级的远程回传。请求的最终接收者应该把接收到的消息(不包括下面描述的某些字段)作为内容类型为 "message/http"([RFC7230] 第 8.3.1 节)的 200(OK)响应的消息正文反映给客户端。最终接收者要么是源服务器,要么是请求中第一个收到最大转发值为 0 (0) 的服务器(第 5.1.2 节)。客户端不得在 TRACE 请求中生成包含敏感数据的头字段,以免被响应泄露。例如,用户代理在 TRACE 请求中发送存储的用户凭证 [RFC7235] 或 cookies [RFC6265] 是愚蠢的。请求的最终接收者在生成响应正文时,应该排除任何可能包含敏感数据的请求头字段。
TRACE 允许客户端查看请求链另一端接收到的内容,并将这些数据用于测试或诊断信息。Via 标头字段([RFC7230] 第 5.7.1 节)的值尤其值得关注,因为它起到了跟踪请求链的作用。使用 Max-Forwards 头信息字段允许客户端限制请求链的长度,这对于测试代理链在无限循环中转发消息非常有用。
HTTP 方法 TRACE 是由互联网工程任务组(IETF)和万维网联盟(W3C)在文档 RFC 7231 第 4.3.8 节中规定的。
TRACE 方法说明
正在进行中的工作
HTTP 方法 TRACE 示例
Request header:
TRACE /data HTTP/1.1
Host: api.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)Chrome/58.0.3029.110 Safari/537
Accept-Language: de-DE,de;q=0.5
Connection: keep-alive
TRACE /data HTTP/1.1
Host: api.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)Chrome/58.0.3029.110 Safari/537
Accept-Language: de-DE,de;q=0.5
Connection: keep-alive
Response header:
Content-Type: message/http
Date: Mon, 31 July 2023 14:58:12 GMT
Server: Apache/2.4.7 (Ubuntu)
Cache-Control: no-cache
Response body (echoed request):
TRACE /data HTTP/1.1
Host: api.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)Chrome/58.0.3029.110 Safari/537
Accept-Language: de-DE,de;q=0.5
Connection: keep-alive
Content-Type: message/http
Date: Mon, 31 July 2023 14:58:12 GMT
Server: Apache/2.4.7 (Ubuntu)
Cache-Control: no-cache
Response body (echoed request):
TRACE /data HTTP/1.1
Host: api.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)Chrome/58.0.3029.110 Safari/537
Accept-Language: de-DE,de;q=0.5
Connection: keep-alive