TRACE
HTTP metodas
HTTP metodo TRACE specifikacija
TRACE metodu prašoma nuotoliniu, taikomosios programos lygmeniu atlikti užklausos pranešimo atkūrimą. Galutinis užklausos gavėjas PRIVALO gautą pranešimą, išskyrus kai kuriuos toliau aprašytus laukus, grąžinti klientui kaip 200 (OK) atsakymo, kurio turinio tipas yra "message/http" ([RFC7230] 8.3.1 skirsnis), turinį. Galutinis gavėjas yra arba kilmės serveris, arba pirmasis serveris, kuris užklausoje gavo nulinę (0) "Max-Forwards" reikšmę (5.1.2 skirsnis). Klientas NEGALI TRACE užklausoje generuoti antraštės laukų, kuriuose yra neskelbtinų duomenų, kurie gali būti atskleisti atsakyme. Pavyzdžiui, naudotojo agentui būtų kvaila TRACE užklausoje siųsti saugomus naudotojo įgaliojimus [RFC7235] arba slapukus [RFC6265]. Galutinis užklausos gavėjas TURI pašalinti visus užklausos antraštės laukus, kuriuose gali būti neskelbtinų duomenų, kai tas gavėjas generuoja atsakymo kūną.
TRACE leidžia klientui matyti, kas gaunama kitame užklausos grandinės gale, ir naudoti šiuos duomenis testavimo ar diagnostikos informacijai. Via antraštės lauko reikšmė ([RFC7230] 5.7.1 skirsnis) yra ypač svarbi, nes ji veikia kaip užklausos grandinės sekimas. Naudodamas antraštės lauką "Max-Forwards", klientas gali apriboti užklausų grandinės ilgį, o tai naudinga testuojant įgaliotinių, persiunčiančių pranešimus begalinėje grandinėje, grandinę.
Klientas TRACE užklausoje NEGALI siųsti pranešimo kūno.
Atsakymų TRACE metodu negalima talpinti į talpyklą.
TRACE metodo aprašymas
HTTP metodo TRACE pavyzdys
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