HTTP TRACE Method

Die HTTP-Methode TRACE fordert einen Loop-Back-Test an, bei dem der Server den empfangenen Request unverändert zurückschickt. Sie wird für Proxy-Chain-Debugging verwendet, ist aber in den meisten Production-Umgebungen deaktiviert wegen Cross-Site-Tracing (XST) Security-Risiken.

Typ

HTTP-Methode

Syntax

TRACE-Request ohne Request-Body, Server reflektiert kompletten Request.

http
TRACE /api/test HTTP/1.1
Host: api.example.com

Direktiven

Die Direktiven definieren TRACE-Semantik und Security-Implikationen.

No Request-Body
TRACE-Requests dürfen keinen Body enthalten.
200 OK with Request Echo
Server gibt 200 OK mit kompletten Request als message/http Response zurück.
Max-Forwards
Header limitiert TRACE durch Proxy-Chains, jeder Proxy dekrementiert.
Via-Header Chains
Zeigt alle Proxies im Request-Pfad für Diagnostik.
Security Risk XST
Cross-Site-Tracing erlaubt HttpOnly Cookie Theft via XMLHttpRequest.
Usually Disabled
Meiste Server deaktivieren TRACE oder blockieren via 405 Method Not Allowed.

Beispiele

Nachfolgend finden Sie praktische Anwendungsbeispiele für die TRACE-Methode.

Beispiel 1 TRACE Request Echo

http
TRACE /api/test HTTP/1.1
Host: api.example.com
User-Agent: curl/7.68.0
Authorization: Bearer secret_token

HTTP/1.1 200 OK
Content-Type: message/http
Content-Length: 145

TRACE /api/test HTTP/1.1
Host: api.example.com
User-Agent: curl/7.68.0
Authorization: Bearer secret_token

Server reflektiert kompletten Request inklusive Authorization-Header für Debugging.

Beispiel 2 TRACE durch Proxy-Chain

http
TRACE / HTTP/1.1
Host: example.com
Max-Forwards: 2

[Proxy 1 decrements Max-Forwards]

TRACE / HTTP/1.1
Host: example.com
Max-Forwards: 1
Via: 1.1 proxy1.example.com

[Proxy 2 decrements Max-Forwards]

TRACE / HTTP/1.1
Host: example.com
Max-Forwards: 0
Via: 1.1 proxy1.example.com, 1.1 proxy2.example.com

HTTP/1.1 200 OK
Content-Type: message/http

[Complete traced request with Via chain]

Max-Forwards limitiert TRACE-Hops, Via-Header dokumentiert Proxy-Pfad.

Beispiel 3 TRACE Disabled Security

http
TRACE / HTTP/1.1
Host: secure.example.com

HTTP/1.1 405 Method Not Allowed
Allow: GET, POST, PUT, DELETE, HEAD, OPTIONS

Production-Server deaktiviert TRACE wegen XST-Security-Risiko.

Vorteile für die Systemarchitektur

  • Proxy-Debugging: Via-Header-Chain zeigt alle Intermediaries im Request-Path
  • Request-Verification: Entwickler können sehen wie Proxies Requests modifizieren
  • Security-Deaktivierung empfohlen: TRACE sollte in Production deaktiviert sein wegen XST-Vulnerabilities

Spezifikation

RFC 9110, Section 9.3.8 – HTTP Semantics https://www.rfc-editor.org/rfc/rfc9110.html#name-trace

Weitere Spezifikationen

Max-Forwards Header, HTTP Status 200 - OK