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.

HTTP-methode TRACE is gespecificeerd in sectie 4.3.8 van document RFC 7231 door de Internet Engineering Task Force (IETF) en het World Wide Web Consortium (W3C).

Beschrijving van de TRACE-methode

werk in uitvoering

Voorbeeld voor de HTTP-methode 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