HTTP-Statuscode prüfen: was die Zahl wirklich sagt
Ein HTTP-Statuscode-Checker liest die Zahl, die der Server zurückschickt. So prüfst du den HTTP-Status und einen HTTPS-Status — auch dann, wenn eine 200 die Seite trotzdem kaputt lässt.
Ein HTTP-Statuscode-Checker beantwortet eine engere Frage, als die meisten erwarten. Der Server schickt eine dreistellige Zahl, bevor irgendein HTML kommt, und diese Zahl sagt, wie er die Anfrage behandelt hat. Sie sagt nicht, dass die Seite sich aufbaut, der Login funktioniert oder die Seite für alle anderen erreichbar ist.
Den HTTP-Status von außerhalb des eigenen Netzes prüfen
Der übliche Anlass ist die Frage „ist die Seite down, oder liegt es an mir?“. Eine Prüfung vom eigenen Rechner benutzt dein DNS, deinen Anbieter und den Cache des Browsers. Wenn genau dort der Fehler sitzt, erzählt der Statuscode nur eine lokale Geschichte. Eine Prüfung aus einem anderen Netz beantwortet eine andere Frage: Hat dieser Server jemandem geantwortet, der nicht du bist?
Unsere kostenlose Prüfung „Ist die Seite offline?“ macht genau das von einem Server in Zürich aus. Sie holt nur Antwort-Header, keinen Seiteninhalt, und wertet einen endgültigen Status von 200 bis unter 400 als „sie hat geantwortet“. Eine 404 oder eine 500 gilt als „sie hat nicht ordentlich geantwortet“. Eine einzelne Stadt sagt nicht, dass die Seite überall liegt. Sie kann Zürich antworten und auf deinem Telefon trotzdem scheitern.
HTTPS-Status prüfen: das Schloss ist nicht der Statuscode
Ein HTTPS-Status-Check liefert trotzdem einen HTTP-Statuscode. Das „S“ heißt nur, dass die Anfrage über TLS lief. Eine 200 auf https:// sagt: Der Handshake hat geklappt und der Server hat geantwortet. Sie bewertet das Zertifikat nicht. Ein gescheiterter Handshake erzeugt gar keinen Statuscode — die Verbindung stirbt, bevor HTTP beginnt. Ablauf und Vertrauen eines Zertifikats sind eine eigene Prüfung.
HTTP-Antwort prüfen: erst der Weiterleitung folgen, dann die Zahl lesen
Ein Antwort-Check, der beim ersten Hop stehen bleibt, meldet 301 oder 302 für eine Seite, die in Wahrheit in Ordnung ist. Interessant ist der Code am Ende der Kette. Eine 301 heißt: Die Adresse ist dauerhaft umgezogen, Clients sollen sich die neue merken. Eine 302 heißt: Die Weiterleitung ist vorübergehend, die ursprüngliche Adresse bleibt die kanonische. Eine 304 heißt: Die gecachte Kopie gilt noch, ein Inhalt wurde nicht geschickt.
„Check HTTP to HTTPS redirect“ ist dieselbe Idee mit einer konkreten Hoffnung: http:// antwortet mit einer Weiterleitung auf https://, und der letzte Hop ist eine erfolgreiche Antwort. Eine Kette, die in 404 endet, hat dich zuverlässig auf eine fehlende Seite geschickt. Der Header-Checker auf dieser Website zeigt jeden Hop und den endgültigen Status zusammen.
Die Codes, die man miteinander verwechselt
| Code | Was er bedeutet | Was man oft annimmt |
|---|---|---|
| 200 | Der Server hat die Anfrage bearbeitet und eine Ressource geliefert. | Die Seite sehe richtig aus. Eine 200 kann ein Fehlerdokument, eine leere App-Hülle oder eine Login-Wand sein. |
| 401 und 403 | 401: Zugangsdaten fehlen oder gelten nicht. 403: Der Server hat dich verstanden und lehnt ab. | Beides heiße einfach „geh weg“. Eine 403 ist oft eine Firewall, eine Bot-Regel oder Dateirechte. |
| 404 | Unter dieser Adresse gibt es nichts. | Die ganze Seite sei down. Der Server läuft; dieser Pfad existiert nicht. |
| 429 | Zu viele Anfragen. Pause machen und es später noch einmal versuchen. | Die Anwendung sei abgestürzt. Sie lehnt die Menge ab, nicht die Anfrage an sich. |
| 500 | Die Anwendung hat einen unbehandelten Fehler geworfen. | Das gebe sich von allein. Eine 500 beschreibt diese Anfrage, kein geplantes Wartungsfenster. |
| 502 und 504 | Beide kommen von einem Proxy. 502: Die App hat ungültig oder gar nicht geantwortet. 504: Der Proxy hat das Warten aufgegeben. | Sie seien austauschbar. 502 heißt meist tot, 504 meist hängend — oft an einer langsamen Abfrage. |
| 503 | Der Server läuft und kann die Anfrage gerade nicht bedienen: Überlast, Wartung oder ein Prozess, der nicht gestartet ist. | Das sei eine 500 unter anderem Namen. Eine 503 meint einen vorübergehenden Zustand — deshalb gehört ein Retry-After dazu, wenn die Dauer bekannt ist. |
Eine 200 ist keine aufgebaute Seite
Prüfungen, die nur Header lesen, verpassen genau die Fehler, die Besucher sehen: ein kaputtes Skript, ein blockiertes Asset, ein Zertifikat, das ein Browser ablehnt, eine Single-Page-App, die 200 liefert und danach einen Fehler zeichnet. Wenn die Seite einen bestimmten Satz enthalten muss — oder das Wort „Störung“ nicht enthalten darf — ist das eine Schlüsselwortprüfung am Inhalt. Ein Statuscode-Lookup macht das nie.
Für eine einmalige Antwort reichen der Status-Check oder der Header-Checker auf dieser Website. Beide rufen denselben öffentlichen Endpunkt auf, der Weiterleitungen folgt und den endgültigen Status liefert. Der Header-Checker ergänzt die Header-Liste und die Weiterleitungskette. Keiner von beiden schaut morgen noch einmal hin. Das tut ein Monitor, nach Zeitplan, und eine fehlgeschlagene Prüfung wird aus einer anderen Region wiederholt, bevor ein Alarm rausgeht. Im Gratis-Tarif darf dieser Takt nicht kürzer als fünf Minuten sein, und die reguläre Prüfung läuft aus einer Region.
curl -fsS https://api.hypermonitors.com/v1/tools/http \
-H 'content-type: application/json' \
-d '{"url":"https://example.com"}'Der Body ist eine URL und sonst nichts: keine Methode, keine Header, kein Anfrage-Body. Nur öffentliche Hostnamen. Der Endpunkt ist begrenzt, und eine Nicht-200 von curl selbst (das Flag -f) heißt, dass der Checker abgelehnt oder versagt hat — nicht, dass example.com einen Fehler geliefert hat.