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 не могат да се кешират.
Описание на метода TRACE
Пример за HTTP метод TRACE
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