TRACE

HTTP метод

Спецификация на HTTP метод TRACE

Методът TRACE изисква отдалечено връщане на съобщението за заявка на ниво приложение. Крайният получател на заявката ТРЯБВА да отрази полученото съобщение, с изключение на някои полета, описани по-долу, обратно към клиента като тяло на съобщение на отговор 200 (OK) с Content-Type (тип на съдържанието) "message/http" (раздел 8.3.1 на [RFC7230]). Крайният получател е или сървърът на произхода, или първият сървър, който е получил стойност Max-Forwards нула (0) в заявката (раздел 5.1.2). Клиентът НЕ ТРЯБВА да генерира заглавни полета в заявка TRACE, съдържащи чувствителни данни, които могат да бъдат разкрити от отговора. Например би било глупаво потребителски агент да изпраща съхранени потребителски данни [RFC7235] или бисквитки [RFC6265] в TRACE заявка. Крайният получател на заявката ТРЯБВА да изключи всички полета от заглавието на заявката, които е вероятно да съдържат чувствителни данни, когато този получател генерира тялото на отговора.

TRACE позволява на клиента да види какво се получава в другия край на веригата на заявката и да използва тези данни за тестване или диагностична информация. Стойността на полето на заглавието Via (раздел 5.7.1 от [RFC7230]) е от особен интерес, тъй като то действа като проследяване на веригата на заявката. Използването на полето на заглавието Max-Forwards позволява на клиента да ограничи дължината на веригата от заявки, което е полезно за тестване на верига от проксита, препращащи съобщения в безкраен цикъл.

Клиентът НЕ ТРЯБВА да изпраща тяло на съобщение в заявка TRACE.

Отговорите на метода TRACE не могат да се кешират.

HTTP метод TRACE е специфициран в раздел 4.3.8 на документ RFC 7231 от Internet Engineering Task Force (IETF) и World Wide Web Consortium (W3C).

Описание на метода 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
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