TRACE
Die TRACE
HTTP-Methode führt einen Nachrichten-Loopback-Test entlang des Pfads zur Zielressource durch.
Der endgültige Empfänger der Anfrage sollte die Nachricht wie empfangen (ohne Felder, die sensible Daten enthalten könnten) als Nachrichtentext einer 200 OK
-Antwort mit einem Content-Type
von message/http
an den Client zurücksenden. Der endgültige 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 in der Anfrage keinen Inhalt senden oder Header generieren, die sensible Daten wie Benutzeranmeldeinformationen oder Cookies enthalten könnten. Nicht alle Server implementieren die TRACE
-Methode, und einige Serverbetreiber haben aus Sicherheitsgründen historisch die Nutzung der TRACE
-Methode verboten. In solchen Fällen wird eine 405 Method Not Allowed
Client-Fehlerantwort gesendet.
Anfrage hat Inhalt | Nein |
---|---|
Erfolgreiche Antwort hat Inhalt | 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, wenn sie mit den Informationen im
Host
-Header kombiniert wird. Dies ist ein absoluter Pfad (z.B./path/to/file.html
) in Anfragen an einen Ursprungsserver und eine absolute URL in Anfragen an Proxies (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 identifizierende Informationen 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 Antworttext 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 |
Browser-Kompatibilität
Der Browser verwendet die TRACE
-Methode nicht für benutzerinitiierte Aktionen, daher ist "Browser-Kompatibilität" hier nicht anwendbar. Entwickler können diese Anfragemethode mit fetch()
einstellen.