TRACE

HTTP Methode

Spezifikation von der HTTP Methode TRACE

Die TRACE-Methode fordert eine Remote-Rückschleifung der Anforderungsnachricht auf Anwendungsebene an. Der Endempfänger der Anfrage SOLLTE die empfangene Nachricht mit Ausnahme einiger unten beschriebener Felder als Nachrichtentext einer 200 (OK)-Antwort mit einem Content-Type von "message/http" (Abschnitt 8.3.1 von [RFC7230]) an den Client zurücksenden. Der endgültige Empfänger ist entweder der Ursprungsserver oder der erste Server, der einen Max-Forwards-Wert von Null (0) in der Anfrage erhält (Abschnitt 5.1.2). Ein Client MUSS KEINE Header-Felder in einer TRACE-Anfrage erzeugen, die sensible Daten enthalten, die durch die Antwort offengelegt werden könnten. Zum Beispiel wäre es töricht, wenn ein User Agent gespeicherte Benutzerdaten [RFC7235] oder Cookies [RFC6265] in einer TRACE-Anfrage senden würde. Der Endempfänger der Anfrage SOLLTE alle Request-Header-Felder ausschließen, die wahrscheinlich sensible Daten enthalten, wenn dieser Empfänger den Response-Body generiert.

TRACE erlaubt es dem Client zu sehen, was am anderen Ende der Anfragekette empfangen wird und diese Daten für Tests oder Diagnoseinformationen zu verwenden. Der Wert des Via-Header-Feldes (Abschnitt 5.7.1 von [RFC7230]) ist von besonderem Interesse, da er als Trace der Anforderungskette dient. Die Verwendung des Max-Forwards-Header-Feldes erlaubt es dem Client, die Länge der Anfragekette zu begrenzen, was nützlich ist, um eine Kette von Proxies zu testen, die Nachrichten in einer Endlosschleife weiterleiten.

Ein Client MUSS KEINEN Nachrichtentext in einer TRACE-Anfrage senden.

Antworten auf die TRACE-Methode sind nicht cachefähig.

Die HTTP-Methode TRACE ist in Abschnitt 4.3.8 des Dokuments RFC 7231 von der Internet Engineering Task Force (IETF) und dem World Wide Web Consortium (W3C) spezifiziert worden.

Beschreibung der Methode TRACE

in Arbeit befindliche Maßnahmen

Beispiel für die 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