TRACE
HTTP-methode
Specificatie van de HTTP-methode TRACE
De TRACE-methode vraagt om een teruglus op afstand, op applicatieniveau, van het verzoekbericht. De uiteindelijke ontvanger van het verzoek ZOU het ontvangen bericht, exclusief enkele hieronder beschreven velden, terug moeten sturen naar de client als de berichttekst van een 200 (OK) antwoord met een Content-Type van "message/http" (Sectie 8.3.1 van [RFC7230]). De uiteindelijke ontvanger is ofwel de origin server of de eerste server die een Max-Forwards waarde van nul (0) ontvangt in het verzoek (Sectie 5.1.2). Een client MOET GEEN headervelden genereren in een TRACE-verzoek die gevoelige gegevens bevatten die door het antwoord kunnen worden onthuld. Het zou bijvoorbeeld dom zijn als een gebruikersagent opgeslagen gebruikersgegevens [RFC7235] of cookies [RFC6265] zou verzenden in een TRACE-verzoek. De uiteindelijke ontvanger van het verzoek ZOU alle headervelden van het verzoek die waarschijnlijk gevoelige gegevens bevatten, moeten uitsluiten wanneer deze ontvanger de antwoordtekst genereert.
TRACE stelt de client in staat om te zien wat er aan de andere kant van de verzoekketen wordt ontvangen en deze gegevens te gebruiken voor testen of diagnostische informatie. De waarde van het Via headerveld (Sectie 5.7.1 van [RFC7230]) is van bijzonder belang, aangezien dit fungeert als een trace van de verzoekketen. Met het headerveld Max-Forwards kan de client de lengte van de verzoekketen beperken, wat handig is voor het testen van een keten van proxy's die berichten in een oneindige lus doorsturen.
Een client MOET GEEN berichttekst verzenden in een TRACE-verzoek.
Responses op de TRACE-methode kunnen niet in de cache worden opgeslagen.
Beschrijving van de TRACE-methode
Voorbeeld voor de HTTP-methode 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