HTTP Refresh Header

Der HTTP-Header Refresh ist ein nicht-standardisierter Response-Header, der Browser anweist, die Seite nach einer Verzögerung automatisch neu zu laden oder zu einer anderen URL weiterzuleiten. Für REST APIs ist er selten relevant, kann aber für Status-Pages und Polling-Endpoints nützlich sein.

Typ

Response-Header

Syntax

Der Header definiert Verzögerung in Sekunden und optional eine Ziel-URL.

http
Refresh: 5
Refresh: 10; url=https://api.example.com/status

Direktiven

Die Direktiven steuern Timing und Ziel für automatische Aktualisierung.

<seconds>
Verzögerung in Sekunden, nach der Browser die Seite neu lädt oder weiterleitet.
url=<target-url>
Optionale Ziel-URL für Redirect. Ohne URL-Parameter wird die aktuelle Seite neu geladen.

Beispiele

Nachfolgend finden Sie praktische Anwendungsbeispiele für den Refresh-Header.

Beispiel 1 Automatisches Polling für Long-Running Task

http
GET /api/tasks/abc-123 HTTP/1.1
Host: api.example.com
Accept: text/html

Server sendet Status-HTML mit Auto-Refresh für Polling.

http
HTTP/1.1 202 Accepted
Content-Type: text/html
Refresh: 5

<!DOCTYPE html>
<html>
<body>
  <h1>Task Processing...</h1>
  <p>Status: 45% complete</p>
</body>
</html>

Browser lädt Seite automatisch nach 5 Sekunden neu.

Beispiel 2 Redirect nach erfolgreicher Task-Completion

http
GET /api/tasks/xyz-789 HTTP/1.1
Host: api.example.com
Accept: text/html

Task ist fertig, Server leitet zu Ergebnis weiter.

http
HTTP/1.1 200 OK
Content-Type: text/html
Refresh: 3; url=/api/reports/2024-q1

<!DOCTYPE html>
<html>
<body>
  <h1>Task Complete!</h1>
  <p>Redirecting to report in 3 seconds...</p>
</body>
</html>

Beispiel 3 Status-Dashboard mit Auto-Refresh

http
GET /api/dashboard HTTP/1.1
Host: api.example.com

Monitoring-Dashboard aktualisiert sich alle 30 Sekunden automatisch.

http
HTTP/1.1 200 OK
Content-Type: text/html
Refresh: 30

<!DOCTYPE html>
<html>
<body>
  <h1>API Status Dashboard</h1>
  <ul>
    <li>API Requests: 145,234</li>
    <li>Avg Response Time: 234ms</li>
    <li>Error Rate: 0.02%</li>
  </ul>
  <p>Last updated: 2024-03-15 16:45:00</p>
</body>
</html>

Auto-Refresh Polling Flow

Refresh-basiertes Polling für Long-Running Tasks

Vorteile für die Systemarchitektur

Refresh-Header ermöglicht einfaches Polling ohne JavaScript, aber moderne APIs sollten alternative Patterns bevorzugen.

  • Zero-JavaScript Polling: Status-Pages können ohne Client-Side Code automatisch aktualisiert werden
  • User-Friendly Progress: Visuelle Fortschrittsanzeige für lange API-Operationen
  • Alternative zu Location: Verzögerte Redirects mit User-Feedback vor Weiterleitung

Spezifikation

HTML Living Standard – Meta refresh (de-facto Standard) https://html.spec.whatwg.org/multipage/semantics.html#attr-meta-http-equiv-refresh

Weitere Spezifikationen

Location Header, HTTP Status 301 - Moved Permanently