HTTP Upgrade-Insecure-Requests Header

Der HTTP-Header Upgrade-Insecure-Requests ist ein Request-Header, der dem Server signalisiert, dass der Client verschlüsselte HTTPS-Antworten bevorzugt. Der Server kann daraufhin automatisch HTTPS-URLs statt HTTP-URLs liefern.

Typ

Request-Header

Syntax

Der Header hat einen festen Wert zur Signalisierung der HTTPS-Präferenz.

http
Upgrade-Insecure-Requests: 1

Direktiven

Die Direktive signalisiert die Client-Präferenz für sichere Verbindungen.

1
Client bevorzugt HTTPS und unterstützt automatische Upgrades von HTTP zu HTTPS. Der einzige gültige Wert für diesen Header.

Beispiele

Nachfolgend finden Sie praktische Anwendungsbeispiele für den Upgrade-Insecure-Requests-Header.

Beispiel 1 Browser fordert HTTPS Upgrade

http
GET /api/data HTTP/1.1
Host: example.com
Upgrade-Insecure-Requests: 1

Browser signalisiert Präferenz für HTTPS, Server kann 307 Redirect zu HTTPS-Variante senden.

Beispiel 2 Server Response mit HTTPS URLs

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

<img src="https://cdn.example.com/image.jpg">
<link rel="stylesheet" href="https://example.com/style.css">

Server berücksichtigt Client-Präferenz und liefert nur HTTPS-URLs in HTML-Ressourcen statt gemischter HTTP/HTTPS-Inhalte.

Beispiel 3 Kombination mit CSP Upgrade

http
GET / HTTP/1.1
Host: example.com
Upgrade-Insecure-Requests: 1

Response:

http
HTTP/1.1 200 OK
Content-Security-Policy: upgrade-insecure-requests
Strict-Transport-Security: max-age=31536000

Server kombiniert Client-Hint mit CSP-Direktive für automatisches Upgrade aller HTTP-Subressourcen und HSTS.

HTTPS Upgrade Flow

Upgrade Insecure Requests Flow

Vorteile für die Systemarchitektur

  • Automatische TLS-Migration: Vereinfacht Umstellung von HTTP auf HTTPS ohne Clientcode-Änderungen
  • Mixed-Content-Prävention: Verhindert unsichere Subressourcen in HTTPS-Seiten durch automatisches Upgrade
  • Progressive Enhancement: Ältere Clients ohne Header-Support erhalten weiterhin HTTP-Inhalte

Spezifikation

W3C Upgrade Insecure Requests, Section 3 https://www.w3.org/TR/upgrade-insecure-requests/#preference

Weitere Spezifikationen

Strict-Transport-Security Header, CSP upgrade-insecure-requests Directive