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

http
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 von key=value-Paaren zu tragen.

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 Antworttext 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 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.

Siehe auch