TRACE request method

Die TRACE HTTP-Methode führt einen Nachrichtenschleifentest entlang des Pfades zur Zielressource durch.

Der endgültige Empfänger der Anfrage sollte die Nachricht wie empfangen (ohne Felder, die sensible Daten enthalten könnten) zurück an den Client als Nachrichtenkörper einer 200 OK-Antwort mit einem Content-Type von message/http spiegeln. 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 im Inhalt der Anfrage keine Daten senden oder Header generieren, die sensible Daten wie Benutzeranmeldedaten oder Cookies enthalten könnten. Nicht alle Server implementieren die TRACE-Methode, und einige Serverbesitzer haben aus Sicherheitsgründen historisch die Verwendung der TRACE-Methode 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
Cache-fähig Nein
Erlaubt in HTML-Formularen Nein

Syntax

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

Identifiziert die Zielressource der Anfrage, wenn kombiniert mit den im Host-Header bereitgestellten Informationen. 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

Ein optionaler Abfragekomponenten, der von einem Fragezeichen ? eingeleitet wird. Wird häufig verwendet, um identifizierende Informationen in Form von key=value Paaren zu transportieren.

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ückgesendet:

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 nutzt die TRACE-Methode nicht für benutzerinitiierte Aktionen, daher gilt "Browser-Kompatibilität" nicht. Entwickler können diese Anforderungsmethode mit fetch() festlegen.

Siehe auch