HTTP-Header-Checker
HTTP-Header jeder URL prüfen, genau so, wie der Server sie sendet, in Reihenfolge und mit jedem Duplikat, dazu eine Sicherheitsnote nach den Tests des Mozilla HTTP Observatory und die Lösung für nginx, Apache, IIS, Cloudflare, Vercel, Netlify oder Express. Auch Caching, Cookies und Serverdetails.
Wir folgen Weiterleitungen bis zur Zielseite und bewerten diese Seite. Die Header jedes Schritts stehen unter Redirects.
Was sind HTTP-Header?
HTTP-Header sind die Zeilen, die ein Server vor der Seite selbst sendet: eine Statuszeile, dann ein Feld name: value pro Zeile, dann eine Leerzeile und der Body (RFC 9110). Namen unterscheiden nicht zwischen Groß- und Kleinschreibung; die Werte gehören dem Server.
Response Header sagen dem Browser, was der Inhalt ist, wie lange er eine Kopie behalten darf, welche Cookies er speichern soll und welche Sicherheitsregeln er durchsetzen muss. Dieser Checker zeigt sie genau so, wie gesendet, in Reihenfolge und mit jedem Duplikat, und färbt jede Zeile nach ihrer Aufgabe ein.
Wie kann ich die HTTP-Header einer Website prüfen?
Geben Sie oben die URL ein und wählen Sie Header prüfen: Der Checker fragt sie von unserem Server an, folgt Weiterleitungen bis zur Zielseite und zeigt den Antwortkopf dieser Seite Zeile für Zeile, mit der Sicherheitsnote daneben. Wählen Sie HEAD im Methodenfeld, um nur den Kopf anzufragen.
Wählen Sie eine beliebige Zeile, um zu sehen, was sie bewirkt und was ihr Wert bedeutet. Die Ansichten darunter sortieren die Befunde: Sicherheit mit der Lösung pro Server, Caching, Cookies, Server & Protokoll und Weiterleitungen.
Header-Checker: die Antwort genau wie gesendet
Ursprüngliche Schreibweise und Reihenfolge, Duplikate bleiben, gelesen über HTTP/1.1; lange Werte werden umgebrochen, Cookie-Werte nie angezeigt. Eine Website hinter Cloudflare wird über Cloudflares Netzwerk gelesen, und das Ergebnis sagt das.
Security Headers prüfen mit den Tests des Mozilla Observatory
Dieselben 12 Tests und Punkte wie im Code des Observatory, beide Runden in der Punktespalte durchgerechnet, und ein Link zum Scan des Hosts von Mozilla selbst.
Server-Header-Checker: Software, CDN und Protokoll
Server und X-Powered-By mit jeder Version, die sie verraten, das CDN und sein Cache-Status, die TLS-Version, HTTP/2 und HTTP/3.
HSTS-Checker und Preload-Bereitschaft
max-age, includeSubDomains und preload gegen die Regeln von hstspreload.org gelesen, als Information: Preloading ist optional.

Die Note und das UrteilNote und Punkte des Observatory für die Zielseite, mit den wertvollsten Korrekturen zuerst.Eine Header-Zeile, wie gesendetJede Zeile in Schreibweise und Reihenfolge des Servers; die Marke am Rand ist das Testergebnis dieses Headers.Die BonusrundeBoni zählen nur, wenn die Punktzahl nach allen Abzügen noch 90 oder mehr beträgt: die zwei Runden des Observatory.Die AnsichtenSicherheit mit der Lösung pro Server, dann Caching, Cookies, Server und Protokoll sowie die Weiterleitungen.Welche Security Header sollte jede Website senden?
Beginnen Sie mit vier: Content-Security-Policy, Strict-Transport-Security, Schutz vor Einbettung (X-Frame-Options oder CSP frame-ancestors) und X-Content-Type-Options: nosniff. Fehlen sie, kostet das in der Note des Mozilla HTTP Observatory die meisten Punkte.
Referrer-Policy und die Cross-Origin-Richtlinien (COOP, COEP und CORP) bringen Bonuspunkte, sobald die Grundlagen stimmen. Permissions-Policy lohnt sich, aber nur Chromium-Browser lesen sie, und das Observatory bewertet sie nicht.
| Header | Verhindert | Fehlt | Gut gesetzt | Funktioniert in |
|---|---|---|---|---|
| Content-Security-Policy | eingeschleuste Skripte | −25 | +5 / +10 | |
| Strict-Transport-Security | ein Downgrade auf http:// | −20 | +5 preloaded | |
| X-Frame-Options · frame-ancestors | Clickjacking in einem versteckten Frame | −20 | +5 | |
| X-Content-Type-Options | Dateien, die als falscher Typ ausgeführt werden | −5 | 0 | |
| Referrer-Policy | vollständige URLs, die an andere Websites gelangen | 0 | +5 | |
| Cross-Origin-Opener-Policy | andere Fenster, die hineingreifen | 0 | +10 | |
| Cross-Origin-Embedder-Policy | Laden von allem, was nicht zugestimmt hat | 0 | +10 | |
| Cross-Origin-Resource-Policy | andere Websites, die Ihre Dateien einbetten | 0 | +10 | |
| Permissions-Policy | Einbettungen, die Kamera, Mikrofon, Standort nutzen | — | nicht bewertet | nur |
Wie wird die Sicherheitsnote berechnet?
Wir folgen der Methode des Mozilla HTTP Observatory Test für Test: Start bei 100, jeden Abzug abziehen, und nur wenn das Ergebnis noch 90 oder mehr beträgt, die Boni addieren. Die Punktzahl wird dann einer Note von F bis A+ zugeordnet (Scoring-Dokumentation des Observatory).
Diese zweite Runde überrascht viele: Eine Website mit einem teuren Fehler behält keinen ihrer Boni. Mit COOP und COEP, die 2026 hinzukamen, erlaubt der Code des Observatory bis zu 165 Punkte, während seine Dokumentation am 24. Oktober 2026 noch 145 nannte; wir folgen dem Code. Jedes Ergebnis verlinkt auf den Scan des Hosts von Mozilla selbst, sodass Sie vergleichen können.
github.comA+
- Start100
- Kein SRI bei externen Skripten−595
- 90 oder mehr: die Bonusrunde zählt
- Cookies: Secure, HttpOnly, SameSite+5
- Referrer-Policy+5
- HSTS preloaded+5
- Einbettungsschutz über CSP+5
- Punktzahl115
www.mozilla.orgB+
- Start100
- CSP erlaubt 'unsafe-inline'−2080
- unter 90: die Bonusrunde entfällt
- COOP same-origin+10
- Referrer-Policy+5
- Einbettungsschutz über CSP+5
- Punktzahl80
Was ist HSTS, und sollten Sie es preloaden?
Strict-Transport-Security sagt Browsern, für einen Host max-age Sekunden lang nur https:// zu verwenden, und includeSubDomains dehnt das auf jede Subdomain aus (RFC 6797). Browser ignorieren ihn über reines http://, und nur der erste solche Header zählt. Das Observatory zieht 20 Punkte ab, wenn er fehlt, und 10, wenn max-age unter sechs Monaten liegt.
Preloading ist optional: hstspreload.org sagt inzwischen, HSTS sei empfohlen, Preloading aber nicht, weil Chrome und Safari Navigationen ohnehin auf HTTPS hochstufen und der Austritt aus der Liste Monate dauert. Wer trotzdem eintragen will, braucht ein max-age von mindestens einem Jahr, includeSubDomains, preload und HTTPS auf jeder Subdomain; erhöhen Sie max-age zuerst schrittweise.
github.comauf der Preload-Liste
- Gültiges Zertifikat
- zuerst http:// auf https:// auf demselben Hosthttp://github.com → https://github.com/
- www auch über HTTPS
- max-age von 31536000 oder mehrmax-age=31536000
- includeSubDomains
- preload
- HSTS auch auf seiner https://-Weiterleitung
mozilla.orgnicht auf der Liste
- Gültiges Zertifikat
- zuerst http:// auf https:// auf demselben Host302 → https://mozilla.org:443/
- www auch über HTTPS
- max-age von 31536000 oder mehrmax-age=60
- includeSubDomains
- preload · nicht gesendet
- HSTS auch auf seiner https://-Weiterleitung
max-age erhöhen, wie hstspreload.org es vorschlägt
- 3005 Min. · zum Testen
- 6048007 Tage
- 259200030 Tage
- 31536000365 Tage · das Preload-Minimum
Keines der Ergebnisse ist ein Fehler: hstspreload.org sagt, Preloading sei für die meisten Websites nicht empfohlen, und HSTS ohne Preload schützt jeden Besucher nach seinem ersten Besuch.
Was bewirkt eine Content-Security-Policy?
Eine Content-Security-Policy listet auf, woher eine Seite Skripte, Stile, Bilder und Frames laden darf, sodass ein Skript, das ein Angreifer von anderswo einschleust, nicht läuft. Ihre Direktive frame-ancestors bestimmt auch, wer die Seite einbetten darf, und überschreibt X-Frame-Options (CSP Level 3).
'unsafe-inline' in script-src hebt den größten Teil dieses Schutzes auf, weshalb das Observatory dafür 20 Punkte abzieht; nutzen Sie stattdessen Nonces oder Hashes (steht eines davon in der Liste, ignorieren Browser 'unsafe-inline'). Ein Header Content-Security-Policy-Report-Only blockiert nichts, er meldet nur, und ist damit der sichere Weg, eine neue Richtlinie zuerst auszuprobieren.
github.com
default-srcalles, was unten nicht aufgeführt ist'none'base-uridas <base href> der Seite'self'script-srcwoher Skripte geladen werden dürfengithub.githubassets.com 'sha256-6AKuI+cDd1MoUL1u4eqrA9PXmnPAkOB4h7421hPUUm0='style-srcStylesheets'unsafe-inline' github.githubassets.comimg-srcBilder'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com …frame-ancestorswer diese Seite einbetten darf'none'form-actionwohin Formulare senden dürfen'self' github.com gist.github.com copilot-workspace.githubnext.com …script-src bei www.mozilla.org'self' 'unsafe-eval' 'unsafe-inline' *.google-analytics.com *.googletagmanager.com google-analytics.com …default-src 'none' und erlaubt jede Quelle namentlich. Steht ein Nonce oder Hash in der Liste, ignorieren Browser 'unsafe-inline'; das Observatory zählt es dann auch nicht.Cache-Control erklärt: wie lange darf eine Kopie wiederverwendet werden?
So viele Sekunden, wie ihr max-age angibt: Cache-Control sagt Browsern und CDNs, wie lange sie eine Antwort wiederverwenden dürfen, ohne den Server erneut zu fragen, und s-maxage legt eine eigene Lebensdauer für gemeinsame Caches wie CDNs fest (RFC 9111).
no-cache heißt nicht „nicht zwischenspeichern“: Es heißt speichern, aber vor jeder Wiederverwendung beim Server nachfragen; no-store hält die Antwort aus jedem Cache heraus. Der Header Age sagt, wie alt die Kopie eines CDN schon ist, und ohne jedes Cache-Control darf ein Browser eine Lebensdauer von etwa 10 % der Zeit seit Last-Modified schätzen.
Cache-Control: s-maxage=86400, must-revalidate, max-age=3600
Gemeinsame Caches (CDN)s-maxage=86400 · 24 Std.noch 21 Std., 39 Min.
Browsermax-age=3600 · 1 Std.veraltet
| no-store | nie in einen Cache schreiben |
|---|---|
| no-cache | speichern, aber vor jeder Wiederverwendung den Server fragen |
| max-age=N | N Sekunden frisch (Expires wird dann ignoriert) |
| s-maxage=N | dasselbe, nur für gemeinsame Caches |
| private | nur Browser, nie ein CDN |
| immutable | beim Neuladen nicht neu validieren (Chrome ignoriert es) |
Welche HTTP-Header sind veraltet?
X-XSS-Protection, Expect-CT, Public-Key-Pins, Feature-Policy und P3P tun in aktuellen Browsern nichts Nützliches mehr. X-XSS-Protection sollte 0 sein oder fehlen, weil der alte Filter selbst Lücken öffnen konnte (OWASP).
Versionsnummern in Server und jeder X-Powered-By-Header sind nicht veraltet, aber RFC 9110 und OWASP raten beide davon ab: Sie verraten Angreifern, welche bekannten Fehler sie versuchen sollten (RFC 9110 §10.2.4).
X-XSS-Protection: 1; mode=block0 senden oder nichts
Chrome 78 und Safari 15.4 haben ihre XSS-Filter entfernt; Firefox hatte nie einen. github.com und www.google.com senden 0.
Expect-CTentfernen
Seit Chrome 107 veraltet: Certificate Transparency wird ohnehin erzwungen.
ChromePublic-Key-Pinsentfernen
In Chrome 72 entfernt; kein aktueller Browser unterstützt ihn.
ChromeFeature-PolicyPermissions-Policy nutzen
Umbenannt: der alte Header ist veraltet.
ChromeP3Pentfernen
Ein toter Datenschutzstandard, den kein aktueller Browser liest; www.youtube.com sendet noch einen.
YouTubeServer: Apache/2.4.62 (Ubuntu)
X-Powered-By: PHP/8.3.12Version weglassen
Ein erfundenes Beispiel: RFC 9110 und OWASP sagen, dieses Detail hilft nur Angreifern.
ApacheWie sehe ich HTTP-Header in Chrome oder mit curl?
Öffnen Sie in Chrome die DevTools (F12), wählen Sie Netzwerk, laden Sie neu, klicken Sie die erste Zeile an und öffnen Sie Header. Mit curl gibt curl -sI https://example.com den Antwortkopf aus; mit --http1.1 sehen Sie die Schreibweise des Servers.
Über HTTP/2 und HTTP/3 ist jeder Header-Name per Regel kleingeschrieben (RFC 9113 §8.2.1), daher zeigen die DevTools strict-transport-security, wo der Server vielleicht Strict-Transport-Security geschrieben hat. Dieser Checker liest über HTTP/1.1 und behält den Kopf genau wie gesendet.
$ curl -sI --http1.1 https://github.com HTTP/1.1 200 OK Date: Sat, 24 Oct 2026 08:19:43 GMT Content-Type: text/html; charset=utf-8 Vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Reques… content-language: en-US ETag: W/"6995be88733b84f6fb0c35e84ad1df53" Cache-Control: max-age=0, private, must-revalidate Strict-Transport-Security: max-age=31536000; includeSubdomains; preload X-Frame-Options: deny X-Content-Type-Options: nosniff …
DevTools › Netzwerk › die Dokumentzeile › Header. Aktivieren Sie Rohdaten, um die Zeilen wie empfangen zu sehen. Über HTTP/2 kommt jeder Name kleingeschrieben an; --http1.1 zeigt die Schreibweise des Servers.
HTTP-Header-Checker: häufig gestellte Fragen
Was ist eine gute Note für Security Header?
Warum weicht meine Note von securityheaders.com ab?
Können Security Header meine Website kaputt machen?
Kann ich HTTP-Header mit einer HEAD-Anfrage prüfen?
Wird X-XSS-Protection noch gebraucht?
Was bewirkt X-Content-Type-Options: nosniff?
Warum sind Header-Namen in den Chrome DevTools kleingeschrieben?
Wie füge ich Security Header in nginx oder Cloudflare hinzu?
Was ist der Server-Header, und sollte ich ihn verbergen?
Speichert der Header-Checker die Header oder Cookies?
Ähnliche Website-Tools
Redirect Checker
URL-Weiterleitungen, Weiterleitungsketten und HTTP-Statuscodes für SEO prüfen
SSL-Zertifikat-Check
Gültigkeit und Sicherheitsdetails des SSL-Zertifikats überprüfen
Website-Down-Checker
Ist die Seite für alle down oder nur für Sie? Prüfen Sie jede Website von 11 Orten und Ihrer eigenen Verbindung aus, mit Live-Screenshot
CMS Detector
Welches CMS, Theme, welche Plugins und Technologien eine Website nutzt, mit Nachweis für jedes
Link-Analyse
Alle Links einer Webseite mit Dofollow/Nofollow-Erkennung und HTTP-Statusprüfung analysieren
Hosting-Checker
Finden Sie heraus, wer eine Website hostet: Webhoster, CDN, CMS, E-Mail-Anbieter, Registrar und SSL-Aussteller
DNS-Abfrage
Alle DNS-Einträge direkt von den Nameservern der Domain, neben dem Cache von Google und Cloudflare
Subdomain-Finder
Alle Subdomains einer Domain entdecken