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
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 vonkey=value
-Paaren zu übermitteln.
Beispiele
Erfolgreiche TRACE-Anfrage
Eine TRACE
-Anfrage kann mit curl
ausgefü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, die im Antworttext enthalten sind, wird an den Client zurückgesendet:
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 |