TRACE request method
Die HTTP-Methode TRACE führt entlang des Pfads zur Zielressource einen Message-Loopback-Test durch.
Der endgültige Empfänger der Anfrage sollte die empfangene Nachricht (mit Ausnahme aller Felder, 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 endgültige Empfänger ist entweder der Origin-Server oder der erste Server, der in der Anfrage einen Max-Forwards-Wert von 0 empfängt.
Der Client darf in der Anfrage keinen Inhalt senden und keine Header erzeugen, die möglicherweise sensible Daten wie Benutzeranmeldedaten oder Cookies enthalten.
Nicht alle Server implementieren die Methode TRACE, und einige Serverbetreiber haben die Verwendung der Methode TRACE in der Vergangenheit aufgrund von Sicherheitsbedenken untersagt.
In solchen Fällen wird eine 405 Method Not Allowed-Clientfehlerantwort gesendet.
| Anfrage hat einen Body | Nein |
|---|---|
| Erfolgreiche Antwort hat einen Body | Ja |
| Sicher | Ja |
| Idempotent | Ja |
| Cachefähig | Nein |
| In HTML-Formularen erlaubt | Nein |
Syntax
TRACE <request-target>["?"<query>] HTTP/1.1
<request-target>-
Identifiziert die Zielressource der Anfrage in Kombination mit den Informationen, die im Header
Hostbereitgestellt werden. Bei Anfragen an einen Origin-Server ist dies ein absoluter Pfad (z. B./path/to/file.html), bei Anfragen an Proxys eine absolute URL (z. B.http://www.example.com/path/to/file.html). <query>Optional-
Eine optionale Abfragekomponente, der ein Fragezeichen
?vorangestellt ist. Wird häufig verwendet, um identifizierende Informationen in Form vonkey=value-Paaren zu übertragen.
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, deren Antwort-Body die Anfrage-Header enthält, 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
| Spezifikation |
|---|
| HTTP Semantics> # TRACE> |
Browser-Kompatibilität
Der Browser verwendet die Methode TRACE nicht für von Benutzern initiierte Aktionen, daher ist „Browser-Kompatibilität“ nicht anwendbar.