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.
Popis metody TRACE
Příklad pro metodu 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