Beim Surfen im Internet kommunizieren dein Browser und der Server ständig miteinander. Dabei tauschen sie sogenannte HTTP-Statuscodes aus. Diese Codes sind wie kleine Nachrichten, die anzeigen, ob alles glattläuft oder ob es Probleme gibt.
Manche Codes, wie 404 Not Found, kennt fast jeder. Aber was bedeuten 406, 409 oder 505? In diesem Artikel erklären wir einige weniger bekannte HTTP-Statuscodes – kurz, knackig und verständlich.
1. Informationsstatuscodes
HTTP-Statuscodes der 1xx-Kategorie sind reine Informationsmeldungen. Sie bedeuten, dass die Anfrage empfangen wurde und gerade verarbeitet wird. Der wichtigste Code aus dieser Gruppe ist:
101 – Switching Protocols
Dieser Code signalisiert, dass der Server auf ein anderes Protokoll umschaltet. Das kann z. B. passieren, wenn eine Webanwendung von HTTP auf WebSockets wechselt, um eine stabilere Echtzeitverbindung zu ermöglichen.
Beispiel: Ein Chat-Tool nutzt WebSockets, damit Nachrichten ohne ständiges Neuladen der Seite sofort angezeigt werden. Wenn du das Chatfenster öffnest, kann dein Browser den Wechsel von HTTP zu WebSockets anfordern – und der Server antwortet mit 101 Switching Protocols.
2. Erfolgsstatuscodes
Die 2xx-Statuscodes zeigen an, dass eine Anfrage erfolgreich war. Manchmal bedeutet das aber nicht, dass die gewünschte Aktion sofort abgeschlossen ist – einige Codes weisen darauf hin, dass die Verarbeitung noch läuft oder nur ein Teil der Daten gesendet wurde.
202 – Accepted
Der Server hat die Anfrage akzeptiert, aber sie wurde noch nicht vollständig bearbeitet. Das passiert oft bei Prozessen, die mehr Zeit benötigen, z. B. beim Hochladen großer Dateien oder bei der Bearbeitung einer Bestellung in einem Onlineshop.
Beispiel: Du bestellst ein Produkt in einem Shop, und dein Zahlungssystem sendet eine Anfrage an den Server. Der Server nimmt die Anfrage an (202 Accepted), aber die Zahlung wird erst später verarbeitet.
206 – Partial Content
Dieser Code wird verwendet, wenn ein Server nur einen Teil einer Datei oder Ressource sendet. Das passiert zum Beispiel bei Downloads, die unterbrochen wurden und später fortgesetzt werden.
Beispiel: Du lädst eine große Datei herunter, aber die Verbindung bricht ab. Wenn du den Download fortsetzt, fordert dein Browser nur den fehlenden Teil der Datei an – und der Server antwortet mit 206 Partial Content.
3. Umleitungsstatuscodes
Die 3xx-Statuscodes bedeuten, dass die angeforderte Ressource woanders zu finden ist oder dass der Client eine zwischengespeicherte Version nutzen kann. Diese Codes sind wichtig für SEO und Ladezeiten, da sie bestimmen, ob und wie Inhalte neu geladen werden müssen.
304 – Not Modified
Dieser Code signalisiert dem Browser, dass die angeforderte Ressource seit dem letzten Besuch nicht verändert wurde. Statt die Datei erneut vom Server zu laden, kann der Browser die lokal gespeicherte Version (Cache) verwenden.
Das spart Zeit und reduziert den Datenverbrauch – besonders wichtig für große Webseiten oder mobile Nutzer.
Ein praktisches Beispiel: Stell dir vor, du besuchst eine Nachrichtenseite, die du bereits heute Morgen aufgerufen hast. Dein Browser fragt den Server, ob es eine neue Version gibt. Falls nicht, antwortet der Server mit 304 Not Modified – und du siehst die Seite sofort aus deinem Cache, ohne unnötiges Nachladen.
4. Client-Fehlercodes
Die 4xx-Statuscodes zeigen an, dass ein Problem mit der Anfrage besteht. Meistens liegt der Fehler auf der Seite des Clients, also beim Browser oder den gesendeten Daten. Manche dieser Codes deuten auf falsche Einstellungen hin, andere auf fehlende Berechtigungen oder ungültige Anfragen.
406 – Not Acceptable
Dieser Code bedeutet, dass der Server die Anfrage zwar verstanden hat, aber kein passendes Format für die Antwort liefern kann. Das kann passieren, wenn der Client angibt, nur bestimmte Dateiformate zu akzeptieren, der Server aber keines davon unterstützt.
Zum Beispiel könnte ein Browser anfragen: «Ich akzeptiere nur Bilder im WebP-Format», aber der Server hat das Bild nur als PNG. In diesem Fall gibt er 406 Not Acceptable zurück.
407 – Proxy Authentication Required
Wenn dieser Code erscheint, erfordert die Verbindung eine Authentifizierung über einen Proxy-Server. Das ist häufig in Unternehmensnetzwerken oder gesicherten Umgebungen der Fall.
Typischerweise sieht das so aus: Du möchtest eine Webseite aufrufen, aber dein Unternehmen verwendet einen Proxy-Server zur Überwachung des Internetverkehrs. Bevor du die Seite siehst, musst du dich erst über den Proxy anmelden. Falls das nicht geschieht, gibt der Server 407 Proxy Authentication Required zurück.
409 – Conflict
Ein 409 Conflict tritt auf, wenn eine Anfrage nicht ausgeführt werden kann, weil sie mit einer bereits bestehenden Ressource in Konflikt steht.
Das passiert oft in Datenbanken oder bei kollaborativen Systemen. Beispiel: Zwei Personen bearbeiten gleichzeitig einen Artikel in einem Content-Management-System. Wenn Nutzer A eine Änderung speichert und Nutzer B dann seine ältere Version speichert, ohne die Änderungen von A zu berücksichtigen, erkennt das System den Konflikt und gibt 409 Conflict zurück.
412 – Precondition Failed
Hier verweigert der Server die Anfrage, weil eine Bedingung nicht erfüllt wurde.
Ein Beispiel wäre ein Update einer Datei, das nur funktionieren soll, wenn die Datei noch unverändert ist. Falls die Datei bereits von jemand anderem geändert wurde, schlägt die Bedingung fehl und der Server gibt 412 Precondition Failed zurück.
415 – Unsupported Media Type
Dieser Fehler tritt auf, wenn der Server das gesendete Dateiformat nicht unterstützt.
Ein klassischer Fall: Du versuchst, eine .psd-Datei (Photoshop) in eine Web-App hochzuladen, die nur .jpg und .png akzeptiert. Der Server kann mit dem Dateityp nichts anfangen und lehnt die Anfrage mit 415 Unsupported Media Type ab.
5. Server-Fehlercodes
Die 5xx-Statuscodes zeigen an, dass ein Problem auf Serverseite vorliegt. Das bedeutet, die Anfrage war korrekt, aber der Server konnte sie aus irgendeinem Grund nicht ausführen. In den meisten Fällen kann der Nutzer nicht viel tun, außer es später erneut zu versuchen oder den Website-Betreiber zu informieren.
505 – HTTP Version Not Supported
Dieser Fehler tritt auf, wenn der Server die verwendete HTTP-Version nicht unterstützt.
Das kommt zwar selten vor, kann aber beispielsweise passieren, wenn ein sehr alter Browser versucht, eine Website aufzurufen, die eine neuere HTTP-Version verwendet. Andersherum kann es auch sein, dass ein moderner Browser eine neue HTTP-Version nutzt, die der Server noch nicht verarbeitet.
Praktisches Beispiel:
Ein alter Webbrowser aus den 2000er-Jahren versucht, eine moderne Webseite mit HTTP/2 aufzurufen. Der Server unterstützt jedoch nur HTTP/1.1 und antwortet mit 505 HTTP Version Not Supported.
Fazit
HTTP-Statuscodes sind wie kleine Nachrichten zwischen Browser und Server, die anzeigen, ob eine Anfrage erfolgreich war oder warum es Probleme gibt. Während viele Menschen mit 404 Not Found vertraut sind, gibt es eine ganze Reihe weniger bekannter Codes, die im Hintergrund eine wichtige Rolle spielen.
Warum ist das Wissen darüber wichtig?
- Entwickler können Fehler schneller finden und beheben.
- Website-Betreiber verstehen, warum Inhalte nicht richtig ausgeliefert werden.
- SEO-Experten nutzen Statuscodes wie 304 Not Modified, um Ladezeiten zu optimieren.
Ob 202 Accepted für wartende Anfragen, 409 Conflict bei Datenkollisionen oder 505 HTTP Version Not Supported für veraltete Protokolle – jeder Code hat seine eigene Bedeutung und hilft dabei, das Internet reibungslos am Laufen zu halten.