TRACE

Die TRACE HTTP-Methode führt einen Nachrichtenschleifen-Test entlang des Pfades zur Zielressource durch.

Der finale Empfänger der Anfrage sollte die empfangene Nachricht (ausgenommen Felder, die sensible Daten enthalten könnten) als Nachrichtentext einer 200 OK-Antwort mit einem Content-Type von message/http an den Client zurückspiegeln. Der finale Empfänger ist entweder der Ursprungsserver oder der erste Server, der einen Max-Forwards-Wert von 0 in der Anfrage erhält.

Der Client darf keine Inhalte in der Anfrage senden oder Header generieren, die sensible Daten wie Benutzeranmeldedaten oder Cookies enthalten könnten. Nicht alle Server implementieren die TRACE-Methode, und einige Serverbetreiber haben die Verwendung der TRACE-Methode aufgrund von Sicherheitsbedenken historisch untersagt. In solchen Fällen wird eine 405 Method Not Allowed Client-Fehlerantwort gesendet.

Anfrage hat Körper Nein
Erfolgreiche Antwort hat Körper Ja
Sicher Ja
Idempotent Ja
Cacheable Nein
Erlaubt in HTML-Formularen Nein

Syntax

http
TRACE <request-target>["?"<query>] HTTP/1.1
<request-target>

Identifiziert die Zielressource der Anfrage, wenn sie mit den im Host-Header bereitgestellten Informationen kombiniert wird. Dies ist ein absoluter Pfad (z.B. /path/to/file.html) bei Anfragen an einen Ursprungsserver und eine absolute URL bei Anfragen an Proxy-Server (z.B. http://www.example.com/path/to/file.html).

<query> Optional

Eine optionale Query-Komponente, die durch ein Fragezeichen ? eingeleitet wird. Oft verwendet, um identifizierende Informationen in Form von key=value-Paaren zu übermitteln.

Beispiele

Erfolgreiche TRACE-Anfrage

Eine TRACE-Anfrage kann mit curl ausgeführt werden:

bash
curl -v -X TRACE example.com

Dies erzeugt die folgende HTTP-Anfrage:

http
TRACE / HTTP/1.1
Host: example.com
User-Agent: curl/8.7.1
Accept: */*

Eine 200 OK-Antwort mit den Anfrage-Headern, die im Antworttext enthalten sind, wird an den Client zurückgesendet:

http
HTTP/1.1 200 OK
Content-Length: 123
Date: Wed, 04 Sep 2024 11:50:24 GMT
Server: Apache/2.4.59 (Unix)
Content-Type: message/http

TRACE / HTTP/1.1
Host: example.com
User-Agent: curl/8.7.1
Accept: */*

Spezifikationen

Specification
HTTP Semantics
# TRACE

Siehe auch