HTTP Status 307 - Temporary Redirect

Der HTTP-Status-Code 307 Temporary Redirect signalisiert eine temporäre Weiterleitung, bei der Client die gleiche HTTP-Methode und Request Body für Redirect-Request verwenden muss. Im Gegensatz zu 302 darf POST nicht zu GET geändert werden. Moderne Alternative zu 302 für Method-Preservation.

Typ

Response-Status-Code

Syntax

Der Status Code wird mit Location Header zurückgegeben, Method bleibt erhalten.

http
HTTP/1.1 307 Temporary Redirect
Location: https://api-backup.example.com/endpoint

Direktiven

Der 307 Temporary Redirect Status Code wird für temporäre Redirects mit Method-Preservation verwendet.

Method Preservation
Client muss gleiche HTTP-Methode verwenden beim Follow der Redirect. POST-Request zu Location wird als POST gesendet (nicht GET), Request Body wird wiederholt.
Temporary Redirect
Original-URI bleibt gültig für zukünftige Requests. Im Gegensatz zu 308 ist Weiterleitung nicht permanent. Ähnlich zu 302, aber mit garantierter Method-Preservation.
Request Body Replay
Client sendet Original-Request-Body erneut zur Redirect-Location. Essential für API-Requests mit Payload (POST/PUT/PATCH).

Beispiele

Nachfolgend finden Sie praktische Anwendungsbeispiele für Status 307.

Beispiel 1 API Failover Redirect

http
POST /api/orders HTTP/1.1
Host: api-primary.example.com
Content-Type: application/json

{"product_id": 42, "quantity": 2}

HTTP/1.1 307 Temporary Redirect
Location: https://api-backup.example.com/api/orders
Retry-After: 60
X-Failover-Reason: Primary datacenter maintenance

Beispiel 2 Load Balancer Region Redirect

http
POST /api/upload HTTP/1.1
Host: global.example.com
Content-Type: multipart/form-data
Content-Length: 10485760

[file upload data]

HTTP/1.1 307 Temporary Redirect
Location: https://eu-central.example.com/api/upload
X-Region: EU

Beispiel 3 Maintenance Mode Redirect

http
PUT /api/users/123 HTTP/1.1
Host: api.example.com
Content-Type: application/json

{"email": "newemail@example.com"}

HTTP/1.1 307 Temporary Redirect
Location: https://api-standby.example.com/api/users/123
X-Maintenance: Database migration in progress

API Failover Redirect Flow

307 Temporary Redirect preserves POST Method für API Failover

Vorteile für die Systemarchitektur

  • Safe API Redirects: Garantiert, dass POST/PUT/PATCH-Requests mit Body korrekt zu Redirect-Location weitergeleitet werden. Verhindert Method-Change zu GET wie bei 302.
  • Failover Scenarios: Ermöglicht transparente Failover zu Backup-Endpoints während Maintenance oder Outages. Client muss nicht Request neu bauen, einfach Redirect folgen.
  • Load Distribution: Load Balancer können Requests zu regional optimalen Endpoints redirecten (Geo-Routing). Request Body und Method bleiben erhalten für transparente User Experience.

Spezifikation

RFC 9110, Section 15.4.8 – HTTP Semantics https://www.rfc-editor.org/rfc/rfc9110.html#name-307-temporary-redirect

Weitere Spezifikationen

HTTP Status 302 - Found, HTTP Status 308 - Permanent Redirect, Location Header