HTTP-Header einer Website prüfen

Gib eine URL ein, um zu sehen, was ihr Server antwortet, wohin er weiterleitet und welche Sicherheitsheader fehlen.

So prüfst du die HTTP-Header einer Website

  1. Tippe oder füge die vollständige URL ein, mit Pfad, wenn du eine bestimmte Seite prüfen willst.

  2. Klicke auf „Prüfen“: Wir stellen die Anfrage von unserem Server und folgen Weiterleitungen wie ein Browser.

  3. Prüfe die Weiterleitungskette, die fehlenden Sicherheitsheader und die vollständige Liste der letzten Antwort.

Was sind HTTP-Header?

Jedes Mal, wenn du eine Seite aufrufst, antwortet der Server vor dem Inhalt mit einem Statuscode (200, 301, 404…) und einer Liste von Headern. Header sieht man auf der Seite nicht, aber sie entscheiden viel: den Inhaltstyp, wie lange zwischengespeichert wird, Cookies, Komprimierung, Weiterleitungen und die Sicherheitsregeln, die der Browser anwenden soll.

Sie zu prüfen hilft, Weiterleitungen zu debuggen, das Caching einer CDN zu kontrollieren, zu bestätigen, dass eine Website HTTPS erzwingt, oder ihre Sicherheit zu prüfen.

Die häufigsten Statuscodes

  • 200 OK: Die Seite existiert und wird ausgeliefert.
  • 301 Moved Permanently: dauerhafte Weiterleitung. Die richtige Wahl für SEO, wenn sich eine URL ändert, weil sie das Ranking weitergibt.
  • 302 Found und 307 Temporary Redirect: vorübergehende Weiterleitungen. Suchmaschinen behalten die ursprüngliche URL.
  • 308 Permanent Redirect: wie 301, aber mit gleicher Methode (POST bleibt POST).
  • 403 Forbidden: Der Server verweigert die Auslieferung (manchmal, weil er Bots blockiert).
  • 404 Not Found: existiert nicht.
  • 500 und 503: Serverfehler oder Dienst nicht verfügbar.

Eine gute Konfiguration macht eine einzige Weiterleitung von http://example.com nach https://www.example.com (oder umgekehrt), keine Kette aus mehreren.

Sicherheitsheader, die jede Website haben sollte

  • Strict-Transport-Security (HSTS): erzwingt HTTPS für die angegebene Zeit. Typischer Wert: max-age=31536000; includeSubDomains.
  • Content-Security-Policy: Liste erlaubter Quellen für Skripte und Ressourcen. Der mächtigste und heikelste Header; beginne mit Content-Security-Policy-Report-Only.
  • X-Content-Type-Options: nosniff.
  • X-Frame-Options: DENY oder SAMEORIGIN (oder frame-ancestors in der CSP).
  • Referrer-Policy: strict-origin-when-cross-origin ist ein guter Kompromiss.
  • Permissions-Policy: Schalte ab, was du nicht nutzt, zum Beispiel camera=(), microphone=(), geolocation=().

Außerdem solltest du Server und X-Powered-By verbergen, die einem Angreifer nur Hinweise geben.

Wie wir die Anfrage stellen

Wir rufen die Seite von unserem Server mit einer normalen GET-Anfrage ab, lesen nur die Header (wir laden den Inhalt nicht herunter) und folgen bis zu fünf Weiterleitungen. Aus Sicherheitsgründen fragen wir nur öffentliche Adressen auf den Ports 80, 443, 8080 und 8443 ab, nie ein internes Netz.

Bedenke, dass manche Server je nach Anfragendem anders antworten: Eine CDN kann je nach Land einen anderen Cache liefern, und manche Websites blockieren automatisierte Anfragen mit 403. Wirkt etwas seltsam, vergleiche es mit dem Tab „Netzwerk“ in den Entwicklertools deines Browsers.

Häufige Fragen

Wie prüfe ich, ob eine Weiterleitung 301 oder 302 ist?

Gib die Ausgangs-URL ein: Die Tabelle der Antworten zeigt den Code jedes Schritts. Für SEO sollte eine dauerhafte URL-Änderung ein 301 (oder 308) sein.

Warum bekomme ich 403, obwohl die Website im Browser funktioniert?

Manche Websites und CDNs blockieren Anfragen, die nicht von einem echten Browser oder die aus Rechenzentren kommen. Das heißt nicht, dass die Website down ist.

Wie füge ich meiner Website Sicherheitsheader hinzu?

In der Serverkonfiguration (add_header bei Nginx, Header set bei Apache), in deiner CDN (Cloudflare erlaubt es zum Beispiel per Regeln) oder in der Anwendung selbst. Prüfe sie danach hier erneut.

Wird der Inhalt der Seite heruntergeladen?

Nein. Wir lesen nur die Statuszeile und die Header und schließen dann die Verbindung. Wir speichern weder die URL noch die Antwort.