TRACE

Die TRACE HTTP-Methode führt einen Nachrichten-Loopback-Test entlang des Pfads zur Zielressource durch.

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

Der Client darf beim Senden der Anfrage keine Inhalte 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 historisch die Verwendung der TRACE-Methode aufgrund von Sicherheitsbedenken 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
Cachefähig Nein
Erlaubt in HTML-Formularen Nein

Syntax

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

Identifiziert die Zielressource der Anfrage in Verbindung mit den Informationen, die im Host-Header bereitgestellt werden. Dies ist ein absoluter Pfad (z. B. /path/to/file.html) in Anfragen an einen Ursprungsserver und eine absolute URL in Anfragen an Proxys (z. B. http://www.example.com/path/to/file.html).

<query> Optional

Eine optionale Abfragekomponente, die mit einem Fragezeichen ? eingeleitet wird. Wird häufig verwendet, um Identifizierungsinformationen in Form von key=value-Paaren zu tragen.

Beispiele

Erfolgreiche TRACE-Anfrage

Eine TRACE-Anfrage kann mit curl durchgefü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 im Antwortkörper wird an den Client zurückgesandt:

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

Browser-Kompatibilität

Der Browser verwendet die TRACE-Methode nicht für vom Benutzer initiierte Aktionen, daher trifft "Browser-Kompatibilität" hier nicht zu. Entwickler können diese Anfragemethode mit fetch() festlegen.

Siehe auch