TRACE

Metoda HTTP

Specifikace metody HTTP TRACE

Metoda TRACE požaduje vzdálené zpětné zobrazení zprávy požadavku na úrovni aplikace. Konečný příjemce požadavku MUSÍ přijatou zprávu, s výjimkou některých níže popsaných polí, promítnout zpět klientovi jako tělo zprávy v odpovědi 200 (OK) s Content-Type "message/http" (oddíl 8.3.1 [RFC7230]). Konečným příjemcem je buď server původu, nebo první server, který v požadavku obdržel hodnotu Max-Forwards rovnou nule (0) (oddíl 5.1.2). Klient NESMÍ v požadavku TRACE vytvářet pole hlavičky obsahující citlivé údaje, které by mohly být zveřejněny v odpovědi. Bylo by například hloupé, kdyby uživatelský agent v požadavku TRACE odeslal uložené pověření uživatele [RFC7235] nebo soubory cookie [RFC6265]. Konečný příjemce požadavku MUSÍ při generování těla odpovědi vyloučit všechna pole hlavičky požadavku, která by mohla obsahovat citlivé údaje.

TRACE umožňuje klientovi zjistit, co je přijímáno na druhém konci řetězce požadavků, a použít tato data pro testování nebo diagnostické informace. Zvláště zajímavá je hodnota pole záhlaví Via (oddíl 5.7.1 [RFC7230]), protože funguje jako stopa řetězce požadavků. Použití pole hlavičky Max-Forwards umožňuje klientovi omezit délku řetězce požadavků, což je užitečné pro testování řetězce proxy serverů předávajících zprávy v nekonečné smyčce.

Klient NESMÍ v požadavku TRACE odesílat tělo zprávy.

Odpovědi na metodu TRACE nelze ukládat do mezipaměti.

Metoda HTTP TRACE byla specifikována v části 4.3.8 dokumentu RFC 7231 organizací IETF (Internet Engineering Task Force) a konsorciem W3C (World Wide Web Consortium).

Popis metody TRACE

probíhající práce

Příklad pro metodu 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