upgrade-insecure-requests ist eine Direktive der Content-Security-Policy (CSP), die den Browser anweist, alle HTTP-URLs einer Seite als HTTPS-URLs zu behandeln und die Anfragen automatisch hochzustufen — noch bevor sie ins Netzwerk gehen. Das HTML selbst bleibt dabei unverändert.

So funktioniert die Direktive

Der Server sendet den Header:

Content-Security-Policy: upgrade-insecure-requests

Der Browser wandelt daraufhin Ressourcen-URLs wie Bilder, Skripte, Stylesheets, iframes und WebSockets transparent um: http:// wird zu https://, ws:// zu wss://. Auch Navigations-Requests sind betroffen.

Warum das wichtig ist

Lädt eine HTTPS-Seite Ressourcen über HTTP nach, entsteht gemischter Inhalt (Mixed Content): Aktive Inhalte wie Skripte blockieren Browser standardmäßig, passive Inhalte erzeugen Warnungen. Die Direktive hebt diese HTTP-Anfragen im Voraus auf HTTPS an, sodass gar kein Mixed Content entsteht. Sie ist besonders beim Umzug einer Website von HTTP auf HTTPS hilfreich.

Grenzen und Zusammenspiel

  • Existiert die HTTPS-Variante einer Ressource nicht (Fehler oder Zertifikatsproblem), schlägt das Laden fehl.
  • Die Direktive wird vor block-all-mixed-content ausgewertet — ist sie gesetzt, bewirkt block-all-mixed-content nichts mehr. Beide Direktiven sollten nicht gleichzeitig gesetzt werden.
  • Die Direktive kann auch per <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests"> gesetzt werden.

Verwandte Grundlagen: Content-Security-Policy-Reporting, CORS, Browser.