Das BSI (Bundesamt für Sicherheit in der Informationstechnik) veröffentlicht mit dem IT-Grundschutz-Kompendium Vorgaben, die für viele deutsche Behörden und regulierte Unternehmen verbindlich sind — darunter Anforderungen an Sicherheits-Header wie Strict-Transport-Security (HSTS) und Content-Security-Policy. Ein Sicherheitsaudit in Deutschland prüft praktisch immer zuerst, ob diese Header überhaupt gesetzt sind.
Anfrage-Header gegen Antwort-Header
Anfrage-Header (wie Accept, User-Agent, Cookie) sendet der Browser an den Server und beschreibt damit sich selbst und seine Erwartungen. Antwort-Header (Content-Type, Set-Cookie, Cache-Control) sendet der Server zurück und beschreibt damit die zurückgegebenen Daten sowie Anweisungen für den Browser.
Wozu Content-Type gebraucht wird
Der Content-Type-Header sagt dem Browser, wie er den Antwortkörper interpretieren soll: als HTML-Seite, JSON-Daten, Bild oder herunterzuladende Datei. Ohne den richtigen Wert hier kann der Browser versuchen, JSON als reinen Text darzustellen, oder umgekehrt HTML fehlerhaft verarbeiten.
Wie Cache-Control das Caching steuert
Werte wie max-age=3600 oder no-cache sagen dem Browser und zwischengeschalteten Proxys, wie lange eine zwischengespeicherte Version einer Ressource verwendet werden darf, bevor sie erneut vom Server angefordert wird. Eine falsche Konfiguration dieses Headers ist ein häufiger Grund, warum Nutzer eine veraltete Version einer Website sehen.
Wofür man das braucht
- Diagnostizieren, warum ein Browser eine API-Antwort falsch darstellt.
- Prüfen, ob die vom BSI empfohlenen Sicherheits-Header vor dem Go-Live tatsächlich gesetzt sind.
- Bestätigen, dass eine Seite über HTTPS ausgeliefert wird — zwingende Voraussetzung für die Web-Crypto-API, auf der die Hash- und JWT-Werkzeuge dieser Seite selbst basieren.
Warum ein Header manchmal mehrfach vorkommt
HTTP erlaubt es, dass derselbe Header mehrfach in einer Antwort vorkommt — am häufigsten sind mehrere Set-Cookie-Zeilen, eine für jedes gesetzte Cookie. Die meisten anderen wiederholten Header lassen sich zu einem einzigen, durch Kommas getrennten Wert zusammenfassen, ohne die Bedeutung zu ändern, aber Set-Cookie ist eine bewusste Ausnahme, da ein Komma durchaus legitimer Teil eines Cookie-Werts sein kann.