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
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 vonkey=value
-Paaren zu tragen.
Beispiele
Erfolgreiche TRACE-Anfrage
Eine TRACE
-Anfrage kann mit curl
durchgeführt werden:
curl -v -X TRACE example.com
Dies erzeugt die folgende HTTP-Anfrage:
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/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.