TRACE
HTTP-metode
Specifikation af HTTP-metoden TRACE
Trace-metoden anmoder om en ekstern loop-back på applikationsniveau af anmodningsmeddelelsen. Den endelige modtager af anmodningen BØR afspejle den modtagne meddelelse, undtagen nogle felter beskrevet nedenfor, tilbage til klienten som meddelelsesteksten i et 200 (OK)-svar med en Content-Type på "message/http" (afsnit 8.3.1 i [RFC7230]). Den endelige modtager er enten den oprindelige server eller den første server, der modtager en Max-Forwards-værdi på nul (0) i anmodningen (afsnit 5.1.2). En klient MÅ IKKE generere headerfelter i en TRACE-anmodning, der indeholder følsomme data, som kan blive afsløret af svaret. Det ville f.eks. være tåbeligt for en brugeragent at sende gemte brugeroplysninger [RFC7235] eller cookies [RFC6265] i en TRACE-anmodning. Den endelige modtager af anmodningen BØR udelukke alle anmodningsheaderfelter, der sandsynligvis indeholder følsomme data, når denne modtager genererer svarteksten.
TRACE giver klienten mulighed for at se, hvad der modtages i den anden ende af anmodningskæden, og bruge disse data til test eller diagnostiske oplysninger. Værdien af Via-headerfeltet (afsnit 5.7.1 i [RFC7230]) er af særlig interesse, da det fungerer som et spor af anmodningskæden. Brug af headerfeltet Max-Forwards gør det muligt for klienten at begrænse længden af anmodningskæden, hvilket er nyttigt til at teste en kæde af proxyer, der videresender meddelelser i en uendelig løkke.
En klient MÅ IKKE sende en meddelelsestekst i en TRACE-anmodning.
Svar på TRACE-metoden kan ikke caches.
Beskrivelse af TRACE-metoden
Eksempel på HTTP-metoden 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