HTTP-Statuscodes sind die Art und Weise, wie das Internet zwischen Servern und Clients kommuniziert. Jedes Mal, wenn Ihr Browser eine Webseite anfordert, ein API einen Aufruf macht oder ein Server Daten verarbeitet, teilen Ihnen diese dreistelligen Codes genau mit, was passiert ist. Das Verständnis dieser Codes ist für Webentwickler, SEO-Spezialisten und alle, die mit Web-Technologien arbeiten, unerlässlich.
Dieser umfassende Leitfaden deckt alle Standard-HTTP-Statuscodes von 100 bis 511 ab, organisiert nach Kategorie. Jeder Statuscode enthält praktische Erklärungen, reale Anwendungsfälle, Implementierungsanleitungen und häufige Fallstricke, die es zu vermeiden gilt.
HTTP-Statuscode-Schnellreferenz
| Statuscode | Name | Kategorie | Springen zu |
|---|---|---|---|
| 100 | Continue | Informational | Details |
| 101 | Switching Protocols | Informational | Details |
| 102 | Processing | Informational | Details |
| 103 | Early Hints | Informational | Details |
| 200 | OK | Success | Details |
| 201 | Created | Success | Details |
| 202 | Accepted | Success | Details |
| 203 | Non-Authoritative Information | Success | Details |
| 204 | No Content | Success | Details |
| 205 | Reset Content | Success | Details |
| 206 | Partial Content | Success | Details |
| 207 | Multi-Status | Success | Details |
| 208 | Already Reported | Success | Details |
| 226 | IM Used | Success | Details |
| 300 | Multiple Choices | Redirection | Details |
| 301 | Moved Permanently | Redirection | Details |
| 302 | Found | Redirection | Details |
| 303 | See Other | Redirection | Details |
| 304 | Not Modified | Redirection | Details |
| 305 | Use Proxy (Deprecated) | Redirection | Details |
| 307 | Temporary Redirect | Redirection | Details |
| 308 | Permanent Redirect | Redirection | Details |
| 400 | Bad Request | Client Error | Details |
| 401 | Unauthorized | Client Error | Details |
| 403 | Forbidden | Client Error | Details |
| 404 | Not Found | Client Error | Details |
| 405 | Method Not Allowed | Client Error | Details |
| 406 | Not Acceptable | Client Error | Details |
| 407 | Proxy Authentication Required | Client Error | Details |
| 408 | Request Timeout | Client Error | Details |
| 409 | Conflict | Client Error | Details |
| 410 | Gone | Client Error | Details |
| 418 | I’m a teapot | Client Error | Details |
| 422 | Unprocessable Entity | Client Error | Details |
| 429 | Too Many Requests | Client Error | Details |
| 451 | Unavailable For Legal Reasons | Client Error | Details |
| 500 | Internal Server Error | Server Error | Details |
| 501 | Not Implemented | Server Error | Details |
| 502 | Bad Gateway | Server Error | Details |
| 503 | Service Unavailable | Server Error | Details |
| 504 | Gateway Timeout | Server Error | Details |
| 505 | HTTP Version Not Supported | Server Error | Details |
| 507 | Insufficient Storage | Server Error | Details |
| 508 | Loop Detected | Server Error | Details |
| 511 | Network Authentication Required | Server Error | Details |
1xx Informationsantworten
Diese Codes zeigen an, dass die Anfrage empfangen wurde und der Prozess fortgesetzt wird.
Was ist ein 100-Statuscode?
HTTP: 100 Continue
Wann und warum Server ihn zurückgeben: Der Server sagt: “Ich habe den ersten Teil Ihrer Anfrage erhalten, und er sieht bisher gut aus - fahren Sie fort und senden Sie den Rest!” Dies geschieht, wenn Sie versuchen, etwas Großes hochzuladen (wie ein Video), und der Server überprüfen möchte, ob Sie berechtigt sind, hochzuladen, bevor Sie Zeit damit verschwenden, die gesamte Datei zu senden.
Praktische Anwendungsfälle: Hochladen großer Dateien in Cloud-Speicher, bei dem der Server zuerst prüft, ob Sie genug Speicherplatz haben, Übermitteln großer Formulare, bei denen der Server Ihr Login validiert, bevor alle Daten akzeptiert werden, oder jede Situation, in der es sinnvoll ist, Berechtigungen zu überprüfen, bevor viele Daten übertragen werden.
Wie Clients auf diesen Status reagieren sollten: Ihr Browser oder Ihre App sollte sofort beginnen, den Rest der Daten zu senden. Meistens geschieht dies automatisch im Hintergrund - Sie werden es nicht einmal bemerken.
Missbrauch oder fehlerhafte Implementierungen: Senden an alte Browser, die es nicht verstehen, zufälliges Senden, wenn niemand danach gefragt hat, oder Vergessen zu überprüfen, ob der Client tatsächlich diesen zweistufigen Prozess möchte, bevor er verwendet wird.
Mozilla.org Developer Doc für zusätzliche Referenz
Was ist ein 101-Statuscode?
HTTP: 101 Switching Protocols
Wann und warum Server ihn zurückgeben: Der Server stimmt zu, die Art und Weise zu ändern, wie er mit Ihnen kommuniziert. Es ist wie der Wechsel von SMS zu einem Telefonanruf - Sie haben gebeten, die Verbindung zu aktualisieren, und der Server sagte “Sicher, machen wir das!”
Praktische Anwendungsfälle: Wenn eine Chat-Anwendung von normalem HTTP zu WebSocket für Echtzeit-Messaging wechselt, wenn ein Browser bittet, eine schnellere Version von HTTP zu verwenden, oder wenn eine Anwendung zu einer anderen Kommunikationsmethode für bessere Funktionen wechseln muss.
Wie Clients auf diesen Status reagieren sollten: Sofort beginnen, das neue Kommunikationsprotokoll zu verwenden. Es ist wie das Wechseln von Sprachen mitten im Gespräch - sobald Sie beide zustimmen, beginnen Sie sofort, die neue Sprache zu sprechen.
Missbrauch oder fehlerhafte Implementierungen: Wechseln ohne gefragt zu werden, versuchen zu etwas zu wechseln, das der Server tatsächlich nicht unterstützt, oder vergessen anzugeben, zu welchem Protokoll Sie wechseln.
Mozilla.org Developer Doc für zusätzliche Referenz
Was ist ein 102-Statuscode?
HTTP: 102 Processing
Wann und warum Server ihn zurückgeben: Der Server sagt: “Ich arbeite noch an Ihrer Anfrage - geben Sie mich nicht auf!” Dies wird verwendet, wenn etwas sehr lange dauert, sodass der Server diese Nachricht sendet, um zu verhindern, dass Sie denken, es sei abgestürzt.
Praktische Anwendungsfälle: Konvertieren einer großen Videodatei in ein anderes Format, Verarbeiten von Hunderten von Dateien auf einmal, Ausführen komplexer Berichte, die Minuten dauern, oder jede Operation, die länger als üblich dauert.
Wie Clients auf diesen Status reagieren sollten: Geduldig warten. Der Server kann mehrere dieser “arbeite noch”-Nachrichten senden, bevor er Ihnen schließlich das tatsächliche Ergebnis gibt. Wiederholen Sie die Anfrage nicht - das würde den gesamten Prozess von vorne beginnen.
Missbrauch oder fehlerhafte Implementierungen: Dies für schnelle Operationen verwenden, die es nicht benötigen, zu viele “arbeite noch”-Nachrichten senden, oder vergessen, die endgültige Antwort zu senden, nachdem Sie gesagt haben, dass Sie verarbeiten.
Mozilla.org Developer Doc für zusätzliche Referenz
Was ist ein 103-Statuscode?
HTTP: 103 Early Hints
Wann und warum Server ihn zurückgeben: Der Server gibt Ihnen einen Hinweis auf Ressourcen, die Sie wahrscheinlich bald benötigen werden. Es ist wie ein Restaurant, das Ihnen sagt: “Während ich Ihre Bestellung vorbereite, möchten Sie vielleicht Ihre Servietten und Ihr Besteck bereitlegen.”
Praktische Anwendungsfälle: Browsern mitteilen, dass sie beginnen sollen, CSS- und JavaScript-Dateien zu laden, während der Server das HTML vorbereitet, Schriftarten vorladen, die die Seite benötigen wird, oder Verbindungen zu anderen Servern aufwärmen, die die Seite verwenden wird.
Wie Clients auf diesen Status reagieren sollten: Beginnen Sie, die vorgeschlagenen Ressourcen im Hintergrund zu laden, während Sie auf die echte Antwort warten. Dies lässt Seiten schneller erscheinen, weil einige Arbeiten früh beginnen.
Missbrauch oder fehlerhafte Implementierungen: Hinweise senden, aber nie die tatsächliche Antwort senden, Ressourcen vorschlagen, die tatsächlich nicht benötigt werden, oder den Client mit zu vielen unnötigen Vorladehinweisen überlasten.
Mozilla.org Developer Doc für zusätzliche Referenz
2xx Erfolg
Diese Codes zeigen an, dass die Anfrage erfolgreich empfangen, verstanden und akzeptiert wurde.
Was ist ein 200-Statuscode?
HTTP: 200 OK
Wann und warum Server ihn zurückgeben: Dies ist die “alles hat perfekt funktioniert”-Antwort. Der Server hat gefunden, was Sie wollten, hat getan, was Sie gefragt haben, und hier ist Ihr Ergebnis. Es ist die häufigste Erfolgsmeldung, die Sie sehen werden.
Praktische Anwendungsfälle: Erfolgreiches Laden jeder Webseite, Abrufen von Daten von einem API, Herunterladen einer Datei, Übermitteln eines Formulars, das korrekt funktioniert hat, oder im Grunde jedes Mal, wenn eine Anfrage ohne Probleme erfolgreich ist.
Wie Clients auf diesen Status reagieren sollten: Verwenden Sie die zurückkommenden Daten - zeigen Sie die Webseite an, verarbeiten Sie die JSON-Daten, speichern Sie die Datei oder was auch immer für Ihre Anwendung sinnvoll ist. Dies ist die “normale” Antwort, für die alles entwickelt wurde.
Missbrauch oder fehlerhafte Implementierungen: “200 OK” sagen, aber eine Fehlermeldung in der Antwort enthalten (verwirrend!), 200 verwenden, wenn Sie etwas Neues erstellt haben (verwenden Sie stattdessen 201), oder 200 ohne Daten zurückgeben, wenn Daten erwartet wurden.
Mozilla.org Developer Doc für zusätzliche Referenz
Was ist ein 201-Statuscode?
HTTP: 201 Created
Wann und warum Server ihn zurückgeben: Der Server hat erfolgreich etwas Neues basierend auf Ihrer Anfrage erstellt. Es ist nicht nur “OK” - es ist speziell “Ich habe das neue Ding erstellt, um das Sie gebeten haben!”
Praktische Anwendungsfälle: Erstellen eines neuen Benutzerkontos, Posten eines neuen Tweets oder Status-Updates, Hochladen einer Datei, die als neue Ressource gespeichert wird, Hinzufügen eines neuen Produkts zu einem Warenkorb oder jedes Mal, wenn Ihre Anfrage dazu führt, dass etwas Neues gespeichert wird.
Wie Clients auf diesen Status reagieren sollten: Suchen Sie nach dem Location-Header, der Ihnen normalerweise mitteilt, wo Sie das neu erstellte Ding finden können. Sie können zur neuen Ressource weiterleiten oder Ihre Benutzeroberfläche aktualisieren, um zu zeigen, dass die Erstellung erfolgreich war.
Missbrauch oder fehlerhafte Implementierungen: 201 verwenden, wenn bestehende Dinge aktualisiert werden (dafür ist 200 da), vergessen, den Speicherort der neuen Ressource einzuschließen, oder 201 verwenden, wenn tatsächlich nichts erstellt wurde.
Mozilla.org Developer Doc für zusätzliche Referenz
Was ist ein 202-Statuscode?
HTTP: 202 Accepted
Wann und warum Server ihn zurückgeben: Der Server hat Ihre Anfrage akzeptiert, aber sie noch nicht fertig verarbeitet. Es ist wie Kleidung zur Reinigung zu bringen - sie haben Ihre Kleidung genommen und Ihnen eine Quittung gegeben, aber die Reinigung ist noch nicht fertig.
Praktische Anwendungsfälle: E-Mails senden (zur Zustellung akzeptiert, aber noch nicht gesendet), große Datenexporte starten, die per E-Mail gesendet werden, wenn sie fertig sind, Videoverarbeitungsaufträge oder jede Aufgabe, die zur späteren Verarbeitung in die Warteschlange gestellt wird.
Wie Clients auf diesen Status reagieren sollten: Erwarten Sie keine sofortigen Ergebnisse. Sie benötigen eine andere Möglichkeit zu überprüfen, ob die Aufgabe erledigt ist - vielleicht einen anderen Endpunkt abfragen, auf eine E-Mail warten oder auf eine Webhook-Benachrichtigung prüfen.
Missbrauch oder fehlerhafte Implementierungen: 202 für Dinge verwenden, die bereits abgeschlossen sind, keine Möglichkeit bieten, den Status später zu überprüfen, oder 202 verwenden, wenn die Aufgabe fehlschlagen könnte (ohne den Client darüber zu warnen).
Mozilla.org Developer Doc für zusätzliche Referenz
Was ist ein 203-Statuscode?
HTTP: 203 Non-Authoritative Information
Wann und warum Server ihn zurückgeben: Die Anfrage war erfolgreich, aber die Antwort wurde von etwas in der Mitte geändert (wie einem Proxy oder Cache). Es ist wie Stille Post spielen - die Nachricht kam durch, könnte sich aber auf dem Weg leicht geändert haben.
Praktische Anwendungsfälle: Wenn ein Unternehmens-Proxy bestimmte Header hinzufügt oder entfernt, wenn ein Caching-Server Antworten ändert, um Bandbreite zu sparen, oder wenn Inhaltsfilter anpassen, was Sie basierend auf Richtlinien sehen.
Wie Clients auf diesen Status reagieren sollten: Verwenden Sie die Antwort normal, aber wissen Sie, dass sie möglicherweise nicht genau das ist, was der ursprüngliche Server gesendet hat. Sie ist immer noch gültig, nur möglicherweise modifiziert.
Missbrauch oder fehlerhafte Implementierungen: Nicht transparent über Änderungen sein, 203 verwenden, wenn tatsächlich nichts geändert wurde, oder Antworten auf Weisen ändern, die die Funktionalität brechen.
Mozilla.org Developer Doc für zusätzliche Referenz
Was ist ein 204-Statuscode?
HTTP: 204 No Content
Wann und warum Server ihn zurückgeben: Der Server hat erfolgreich getan, was Sie gefragt haben, hat aber nichts zurückzusenden. Es ist wie etwas erfolgreich zu löschen - das Löschen hat funktioniert, aber es gibt nichts zu zeigen, weil es weg ist!
Praktische Anwendungsfälle: Datensätze löschen, Einstellungen aktualisieren, bei denen Sie keine Bestätigungsdaten zurück benötigen, Präferenzen im Hintergrund still speichern oder jede erfolgreiche Aktion, bei der ein Antwortkörper sinnlos wäre.
Wie Clients auf diesen Status reagieren sollten: Behandeln Sie es als Erfolg, aber erwarten Sie keine Daten. Perfekt für AJAX-Anfragen, bei denen Sie nur wissen müssen, dass etwas funktioniert hat. Die Seite sollte nicht aktualisiert werden oder sich ändern, es sei denn, Ihr JavaScript beschließt, etwas zu aktualisieren.
Missbrauch oder fehlerhafte Implementierungen: Antwortdaten mit einer 204 einschließen (das ist nicht erlaubt!), 204 verwenden, wenn der Client wahrscheinlich die aktualisierten Daten sehen möchte, oder 204 für Fehler verwenden.
Mozilla.org Developer Doc für zusätzliche Referenz
Was ist ein 205-Statuscode?
HTTP: 205 Reset Content
Wann und warum Server ihn zurückgeben: Der Server sagt Ihrer Anwendung, dass sie ihr Formular löschen oder ihre Ansicht zurücksetzen soll. Es ist wie das erfolgreiche Übermitteln einer Umfrage und das automatische Löschen des Formulars für die nächste Person.
Praktische Anwendungsfälle: Nach dem Übermitteln eines Dateneingabeformulars, das wiederholt verwendet werden muss, Abschließen einer Umfrage, die für den nächsten Befragten zurückgesetzt werden soll, oder jede Situation, in der die Benutzeroberfläche nach Erfolg zu ihrem Ausgangszustand zurückkehren soll.
Wie Clients auf diesen Status reagieren sollten: Alle Formularfelder löschen, die Dokumentansicht zurücksetzen oder die Schnittstelle in ihren ursprünglichen Zustand zurückversetzen. Mit dieser Antwort kommen keine Daten - es ist nur eine Anweisung zum Zurücksetzen.
Missbrauch oder fehlerhafte Implementierungen: Daten mit einer 205-Antwort senden (sie sollte leer sein), 205 verwenden, wenn Sie das Formular nicht wirklich löschen möchten, oder es verwenden, wenn eine einfache 204 besser wäre.
Mozilla.org Developer Doc für zusätzliche Referenz
Was ist ein 206-Statuscode?
HTTP: 206 Partial Content
Wann und warum Server ihn zurückgeben: Der Server sendet nur einen Teil der Datei, weil Sie genau das angefordert haben. Es ist wie nach den Seiten 50-60 eines Buches zu fragen anstatt nach dem ganzen Buch.
Praktische Anwendungsfälle: Video-Streaming, bei dem Sie zu verschiedenen Teilen springen können, unterbrochene Downloads von dort fortsetzen, wo sie aufgehört haben, große Dateien in Chunks herunterladen oder “Mehr laden”-Funktionen effizient implementieren.
Wie Clients auf diesen Status reagieren sollten: Verarbeiten Sie den Teilinhalt und fordern Sie möglicherweise bei Bedarf weitere Teile an. Videoplayer verwenden dies zum Suchen, und Download-Manager verwenden es zum Fortsetzen.
Missbrauch oder fehlerhafte Implementierungen: 206 senden, wenn niemand nach Teilinhalt gefragt hat, den falschen Byte-Bereich senden, Range-Anfragen nicht unterstützen, wenn sie hilfreich wären, oder die Content-Range-Header durcheinanderbringen.
Mozilla.org Developer Doc für zusätzliche Referenz
Was ist ein 207-Statuscode?
HTTP: 207 Multi-Status
Wann und warum Server ihn zurückgeben: Mehrere Operationen wurden durchgeführt und jede hat ihr eigenes Ergebnis. Es ist wie eine Reihe von Bewerbungen zu übermitteln und individuelle Antworten für jede in einem einzigen Umschlag zu erhalten.
Praktische Anwendungsfälle: Massenoperationen, bei denen Sie mehrere Elemente gleichzeitig aktualisieren, WebDAV-Operationen auf mehreren Dateien, Batch-API-Anfragen oder jedes Mal, wenn Sie individuelle Ergebnisse für mehrere Operationen melden müssen.
Wie Clients auf diesen Status reagieren sollten: Analysieren Sie den Antwortkörper (normalerweise XML), um das individuelle Ergebnis für jede Operation zu sehen. Einige könnten erfolgreich gewesen sein, während andere fehlgeschlagen sind, und Sie müssen jede entsprechend behandeln.
Missbrauch oder fehlerhafte Implementierungen: 207 für einzelne Operationen verwenden, die Multi-Status-Antwort nicht korrekt strukturieren, oder es verwenden, wenn alle Operationen das gleiche Ergebnis hatten (verwenden Sie einfach diesen einzelnen Statuscode stattdessen).
Mozilla.org Developer Doc für zusätzliche Referenz
Was ist ein 208-Statuscode?
HTTP: 208 Already Reported
Wann und warum Server ihn zurückgeben: In einer Multi-Status-Antwort zeigt dies an, dass Informationen über diese Ressource bereits früher enthalten waren. Es ist wie “siehe oben” zu sagen, um sich nicht zu wiederholen.
Praktische Anwendungsfälle: Beim Auflisten von Verzeichnisinhalten, die symbolische Links enthalten, Verhindern von Endlosschleifen bei rekursiven Operationen oder Vermeiden doppelter Informationen in komplexen WebDAV-Antworten.
Wie Clients auf diesen Status reagieren sollten: Überspringen Sie die Verarbeitung dieser Ressource, da Sie sie bereits früher in der Antwort behandelt haben. Dies verhindert Doppelverarbeitung und Endlosschleifen.
Missbrauch oder fehlerhafte Implementierungen: 208 außerhalb ordnungsgemäßer Multi-Status-Kontexte verwenden, Dinge als “bereits gemeldet” markieren, wenn sie es nicht waren, oder verwirrende Antworten durch Überbeanspruchung dieses Status erstellen.
Mozilla.org Developer Doc für zusätzliche Referenz
Was ist ein 226-Statuscode?
HTTP: 226 IM Used
Wann und warum Server ihn zurückgeben: Der Server hat eine oder mehrere Transformationen auf die Antwort angewendet. Es ist wie ein Dokument zu bestellen und eine komprimierte oder optimierte Version zu erhalten, um Bandbreite zu sparen.
Praktische Anwendungsfälle: Delta-Kodierung, bei der nur Änderungen seit dem letzten Mal gesendet werden, Kompressionssysteme, die Inhalte on-the-fly transformieren, oder jede bandbreitensparende Transformation, die der Client angefordert hat.
Wie Clients auf diesen Status reagieren sollten: Verarbeiten Sie den transformierten Inhalt mit der in den Headern angegebenen Methode. Der Client muss die Transformation verstehen, um die Antwort ordnungsgemäß zu verwenden.
Missbrauch oder fehlerhafte Implementierungen: 226 verwenden, ohne anzugeben, welche Transformationen angewendet wurden, Transformationen anwenden, die der Client nicht angefordert hat, oder 226 für Standardkompression verwenden (die keinen speziellen Status benötigt).
Mozilla.org Developer Doc für zusätzliche Referenz
3xx Weiterleitung
Diese Codes zeigen an, dass weitere Maßnahmen ergriffen werden müssen, um die Anfrage abzuschließen.
Was ist ein 300-Statuscode?
HTTP: 300 Multiple Choices
Wann und warum Server ihn zurückgeben: Es gibt mehrere Versionen der angeforderten Ressource und der Server kann nicht automatisch eine auswählen. Es ist wie nach “dem Handbuch” zu fragen, wenn es Versionen in verschiedenen Sprachen gibt.
Praktische Anwendungsfälle: Wenn Inhalte in mehreren Sprachen oder Formaten verfügbar sind, wenn es verschiedene Versionen für verschiedene Geräte gibt, oder wenn der Server wirklich nicht entscheiden kann, welche Version Sie möchten.
Wie Clients auf diesen Status reagieren sollten: Präsentieren Sie die Auswahlmöglichkeiten dem Benutzer oder wählen Sie eine basierend auf Präferenzen (wie Spracheinstellungen). Die Antwort sollte alle verfügbaren Optionen auflisten.
Missbrauch oder fehlerhafte Implementierungen: 300 verwenden, wenn der Server vernünftigerweise eine Standardeinstellung wählen könnte, die verfügbaren Auswahlmöglichkeiten nicht klar präsentieren, oder es für einfache Weiterleitungen verwenden (verwenden Sie stattdessen 301/302).
Mozilla.org Developer Doc für zusätzliche Referenz
Was ist ein 301-Statuscode?
HTTP: 301 Moved Permanently
Wann und warum Server ihn zurückgeben: Die Ressource ist dauerhaft zu einer neuen Adresse verschoben worden. Es ist wie wenn ein Unternehmen an einen neuen Standort umzieht und ein permanentes Weiterleitungsschild aufstellt - aktualisieren Sie Ihr Adressbuch!
Praktische Anwendungsfälle: Wenn Websites ihre URLs dauerhaft umstrukturieren, von HTTP zu HTTPS wechseln, wenn Unternehmen umfirmieren und Domains ändern, oder mehrere Seiten zu einer für bessere Organisation konsolidieren.
Wie Clients auf diesen Status reagieren sollten: Automatisch zur neuen URL gehen und sie sich für das nächste Mal merken. Browser aktualisieren Lesezeichen, und Suchmaschinen aktualisieren ihre Indizes, um auf den neuen Standort zu zeigen.
Missbrauch oder fehlerhafte Implementierungen: 301 für temporäre Verschiebungen verwenden (verwenden Sie stattdessen 302), Ketten von Weiterleitungen erstellen, die Benutzer herumwerfen, oder 301 verwenden, wenn Sie es möglicherweise später zurückändern möchten.
Mozilla.org Developer Doc für zusätzliche Referenz
Was ist ein 302-Statuscode?
HTTP: 302 Found
Wann und warum Server ihn zurückgeben: Die Ressource befindet sich vorübergehend an einem anderen Ort. Es ist wie ein Ladenschild, das sagt “Wir sind heute auf dem Bauernmarkt” - sie werden morgen wieder an ihrem normalen Platz sein.
Praktische Anwendungsfälle: Benutzer während Wartungsarbeiten umleiten, A/B-Tests, bei denen einige Benutzer zu einer anderen Version gehen, saisonale Promotionen, die zu speziellen Seiten umleiten, oder Lastverteilung zwischen Servern.
Wie Clients auf diesen Status reagieren sollten: Gehen Sie vorerst zum temporären Standort, aber verwenden Sie weiterhin die ursprüngliche URL für zukünftige Anfragen. Aktualisieren Sie keine Lesezeichen oder permanenten Referenzen.
Missbrauch oder fehlerhafte Implementierungen: 302 für permanente Verschiebungen verwenden (verwenden Sie dafür 301), Weiterleitungsschleifen erstellen, bei denen A zu B sendet und B zurück zu A sendet, oder 302 verwenden, wenn Sie speziell die HTTP-Methode erhalten müssen (verwenden Sie 307).
Mozilla.org Developer Doc für zusätzliche Referenz
Was ist ein 303-Statuscode?
HTTP: 303 See Other
Wann und warum Server ihn zurückgeben: Nach der Verarbeitung Ihrer Anfrage (normalerweise POST) möchte der Server, dass Sie sich mit GET eine andere Seite ansehen. Es ist wie ein Formular zu übermitteln und zu einer “Danke”-Seite umgeleitet zu werden.
Praktische Anwendungsfälle: Nach dem Übermitteln eines Formulars zu einer Bestätigungsseite umleiten; nach einer Zahlung zu einer Quittung umleiten; jedes Mal, wenn Sie doppelte Übermittlungen verhindern möchten, wenn Benutzer die Seite aktualisieren.
Wie Clients auf diesen Status reagieren sollten: Führen Sie eine neue GET-Anfrage zur neuen URL durch. Dies verhindert versehentliche erneute Übermittlung, wenn Benutzer die Seite aktualisieren, da das Aktualisieren nur die endgültige Seite neu lädt, nicht das Formular erneut übermittelt.
Missbrauch oder fehlerhafte Implementierungen: 303 verwenden, wenn Sie die ursprüngliche Methode erhalten möchten (verwenden Sie 307), es für permanente Weiterleitungen verwenden (verwenden Sie 301), oder vergessen, dass die Weiterleitung immer GET verwendet, unabhängig von der ursprünglichen Methode.
Mozilla.org Developer Doc für zusätzliche Referenz
Was ist ein 304-Statuscode?
HTTP: 304 Not Modified
Wann und warum Server ihn zurückgeben: Die Ressource hat sich seit Ihrer letzten Anfrage nicht geändert, also verwenden Sie Ihre zwischengespeicherte Kopie. Es ist wie zu überprüfen, ob ein Dokument aktualisiert wurde, und gesagt zu bekommen “nein, immer noch dasselbe.”
Praktische Anwendungsfälle: Browser-Caching, bei dem überprüft wird, ob Bilder/CSS/JavaScript-Dateien sich geändert haben, API-Antworten, die sich selten ändern, oder jede Situation, in der Sie Bandbreite sparen möchten, indem Sie unveränderte Daten nicht erneut senden.
Wie Clients auf diesen Status reagieren sollten: Verwenden Sie die zwischengespeicherte Version, die Sie bereits haben. Mit dieser Antwort kommen keine neuen Daten - sie bestätigt nur, dass Ihre zwischengespeicherte Kopie noch gut ist.
Missbrauch oder fehlerhafte Implementierungen: Daten mit einer 304 senden (sie muss leer sein), “nicht geändert” sagen, wenn es tatsächlich geändert wurde, oder die speziellen Header nicht ordnungsgemäß behandeln, die dies zum Funktionieren bringen.
Mozilla.org Developer Doc für zusätzliche Referenz
Was ist ein 305-Statuscode?
HTTP: 305 Use Proxy
Wann und warum Server ihn zurückgeben: Dieser Statuscode ist veraltet und sollte niemals verwendet werden. Er hatte Sicherheitsprobleme und wurde von der Web-Community aufgegeben.
Praktische Anwendungsfälle: Keine - dieser Statuscode ist außer Betrieb und sollte in keiner modernen Anwendung verwendet werden.
Wie Clients auf diesen Status reagieren sollten: Moderne Clients sollten diesen Statuscode aus Sicherheitsgründen ignorieren. Es ist ein historisches Artefakt.
Missbrauch oder fehlerhafte Implementierungen: Diesen Statuscode überhaupt zu verwenden ist ein Fehler. Er ist aus guten Sicherheitsgründen veraltet und sollte niemals in modernen Anwendungen erscheinen.
Mozilla.org Developer Doc für zusätzliche Referenz
Was ist ein 307-Statuscode?
HTTP: 307 Temporary Redirect
Wann und warum Server ihn zurückgeben: Vorübergehend zu einer anderen URL umleiten, aber im Gegensatz zu 302 muss der Client dieselbe Methode verwenden. Wenn die ursprüngliche Anfrage POST war, muss die Weiterleitung auch POST sein.
Praktische Anwendungsfälle: API-Endpunkte unter Wartung, die die Methode erhalten müssen, Lastverteilung, die die Anforderungsintegrität beibehält, oder jede temporäre Weiterleitung, bei der die Änderung von POST zu GET Dinge brechen würde.
Wie Clients auf diesen Status reagieren sollten: Leiten Sie zur neuen URL um, indem Sie genau dieselbe Methode und denselben Body wie die ursprüngliche Anfrage verwenden. Dies ist strenger als 302-Weiterleitungen.
Missbrauch oder fehlerhafte Implementierungen: 307 für permanente Verschiebungen verwenden (verwenden Sie 308), es verwenden, wenn Methodenerhaltung nicht wichtig ist (302 ist einfacher), oder nicht erkennen, dass Clients den Anfragekörper erneut senden müssen.
Mozilla.org Developer Doc für zusätzliche Referenz
Was ist ein 308-Statuscode?
HTTP: 308 Permanent Redirect
Wann und warum Server ihn zurückgeben: Wie 301, garantiert aber, dass sich die Methode nicht ändert. Wenn Sie zur alten URL POST-ed haben, müssen Sie auch zur neuen URL POST-en.
Praktische Anwendungsfälle: Permanentes Verschieben von API-Endpunkten, die POST/PUT/DELETE akzeptieren, Umstrukturierung von RESTful-Diensten unter Beibehaltung der Methodenintegrität, oder jede permanente Verschiebung, bei der die HTTP-Methode erhalten bleiben muss.
Wie Clients auf diesen Status reagieren sollten: Aktualisieren Sie Referenzen dauerhaft, um die neue URL zu verwenden, und verwenden Sie immer dieselbe HTTP-Methode wie die ursprüngliche Anfrage beim Folgen der Weiterleitung.
Missbrauch oder fehlerhafte Implementierungen: 308 für temporäre Verschiebungen verwenden (verwenden Sie 307), es verwenden, wenn Methodenerhaltung nicht wichtig ist (301 ist breiter unterstützt), oder vergessen, dass dies ein neuerer Statuscode ist, den ältere Clients möglicherweise nicht verstehen.
Mozilla.org Developer Doc für zusätzliche Referenz
4xx Client-Fehler
Diese Codes zeigen an, dass der Client anscheinend einen Fehler gemacht hat.
Was ist ein 400-Statuscode?
HTTP: 400 Bad Request
Wann und warum Server ihn zurückgeben: Ihre Anfrage ist in irgendeiner Weise fehlerhaft oder ungültig. Es ist wie ein Formular mit Ihrer E-Mail im Telefonnummernfeld auszufüllen - der Server kann es nicht verarbeiten, weil es keinen Sinn ergibt.
Praktische Anwendungsfälle: Ungültiges JSON im Anfragekörper, fehlende erforderliche Parameter, falsche Datentypen (Text senden, wenn eine Zahl erwartet wird), fehlerhafte URLs oder jeder Syntaxfehler in der Anfrage.
Wie Clients auf diesen Status reagieren sollten: Wiederholen Sie nicht dieselbe Anfrage - sie wird wieder fehlschlagen. Beheben Sie zuerst das Problem. Überprüfen Sie den Antwortkörper auf Details darüber, was falsch ist, und korrigieren Sie es, bevor Sie es erneut versuchen.
Missbrauch oder fehlerhafte Implementierungen: 400 für Authentifizierungsprobleme verwenden (verwenden Sie 401), 400 für Serverfehler zurückgeben (verwenden Sie 5xx), vage Fehlermeldungen geben, die nicht helfen, das Problem zu beheben, oder 400 als Auffangbecken für jeden Fehler verwenden.
Mozilla.org Developer Doc für zusätzliche Referenz
Was ist ein 401-Statuscode?
HTTP: 401 Unauthorized
Wann und warum Server ihn zurückgeben: Sie müssen sich anmelden oder Anmeldeinformationen bereitstellen, um auf diese Ressource zuzugreifen. Es ist wie zu versuchen, einen Nur-Mitglieder-Bereich zu betreten, ohne Ihren Mitgliedsausweis zu zeigen.
Praktische Anwendungsfälle: Auf geschützte API-Endpunkte ohne Token zugreifen, abgelaufene Anmeldesitzungen, fehlende API-Schlüssel oder jede Anfrage an eine Ressource, die erfordert, dass Sie beweisen, wer Sie sind.
Wie Clients auf diesen Status reagieren sollten: Fordern Sie den Benutzer auf, sich anzumelden, leiten Sie zu einer Anmeldeseite um oder beschaffen Sie gültige Anmeldeinformationen, bevor Sie es erneut versuchen. Für APIs holen Sie sich ein neues Authentifizierungstoken.
Missbrauch oder fehlerhafte Implementierungen: 401 verwenden, wenn Anmeldeinformationen gültig, aber unzureichend sind (verwenden Sie 403), vergessen, Informationen darüber einzuschließen, wie man sich authentifiziert, oder Authentifizierung (wer Sie sind) mit Autorisierung (was Sie tun dürfen) verwechseln.
Mozilla.org Developer Doc für zusätzliche Referenz
Was ist ein 403-Statuscode?
HTTP: 403 Forbidden
Wann und warum Server ihn zurückgeben: Der Server versteht, wer Sie sind, wird Ihnen aber keinen Zugriff auf diese Ressource gewähren. Es ist wie Ihren Ausweis zu zeigen, um einen VIP-Bereich zu betreten, aber gesagt zu bekommen, Sie stehen nicht auf der Liste.
Praktische Anwendungsfälle: Versuch, auf Admin-Funktionen als normaler Benutzer zuzugreifen, Versuch, private Daten eines anderen Benutzers anzusehen, geografische Beschränkungen (Inhalt in Ihrem Land nicht verfügbar) oder IP-Adressen-Blockierung.
Wie Clients auf diesen Status reagieren sollten: Wiederholen Sie es nicht mit denselben Anmeldeinformationen - sie werden nicht funktionieren. Zeigen Sie eine “Zugriff verweigert”-Nachricht und erklären Sie möglicherweise, wie man den richtigen Zugriff erhält, falls zutreffend.
Missbrauch oder fehlerhafte Implementierungen: 403 verwenden, wenn der Benutzer nicht angemeldet ist (verwenden Sie 401), 403 für Ressourcen verwenden, die nicht existieren, um ihre Existenz zu verbergen (diskutabel - könnte 404 verwenden), oder nicht klar sein, warum der Zugriff verboten ist.
Mozilla.org Developer Doc für zusätzliche Referenz
Was ist ein 404-Statuscode?
HTTP: 404 Not Found
Wann und warum Server ihn zurückgeben: Der Server kann an der von Ihnen angeforderten URL nichts finden. Es ist wie zu einer Straßenadresse zu gehen, wo nur ein leeres Grundstück ist - entweder haben Sie die Adresse falsch verstanden, oder was auch immer dort war, ist weg.
Praktische Anwendungsfälle: Eine URL falsch eingeben (wie gooogle.com statt google.com), alte Lesezeichen zu gelöschten Seiten anklicken, defekte Links von anderen Websites folgen, Tippfehler in API-Endpunkten machen oder versuchen, auf Dateien zuzugreifen, die verschoben oder umbenannt wurden.
Wie Clients auf diesen Status reagieren sollten: Zeigen Sie eine Fehlerseite an, die Benutzern hilft herauszufinden, was als Nächstes zu tun ist. Gute 404-Seiten enthalten ein Suchfeld, Links zu beliebten Seiten, eine Möglichkeit, den defekten Link zu melden, oder sogar eine lustige Nachricht, um den Fehler weniger frustrierend zu machen.
Missbrauch oder fehlerhafte Implementierungen: 404 verwenden, wenn der Zugriff verweigert wird (verwenden Sie 403 für “Sie können dies nicht sehen”), 404 für Dinge zurückgeben, die absichtlich für immer entfernt wurden (erwägen Sie 410 “Gone”), generische unhilfreiche Fehlerseiten zeigen oder 404 verwenden, um zu verbergen, dass etwas von nicht autorisierten Benutzern existiert (obwohl dies für die Sicherheit diskutabel ist).
Mozilla.org Developer Doc für zusätzliche Referenz
Was ist ein 405-Statuscode?
HTTP: 405 Method Not Allowed
Wann und warum Server ihn zurückgeben: Die Ressource existiert, unterstützt aber nicht die von Ihnen verwendete HTTP-Methode. Es ist wie zu versuchen, eine Tür zu drücken, die nur durch Ziehen geöffnet wird - die Tür existiert, Sie müssen sie nur richtig verwenden.
Praktische Anwendungsfälle: Versuch, eine schreibgeschützte Ressource zu DELETE-en, POST an einen Endpunkt zu senden, der nur GET akzeptiert, PUT auf Ressourcen zu versuchen, die nicht aktualisiert werden können, oder benutzerdefinierte Methoden zu verwenden, die der Server nicht unterstützt.
Wie Clients auf diesen Status reagieren sollten: Überprüfen Sie den Allow-Header, um zu sehen, welche Methoden unterstützt werden, und versuchen Sie es dann mit einer geeigneten Methode erneut. Versuchen Sie nicht weiter dieselbe Methode - sie wird nicht unterstützt.
Missbrauch oder fehlerhafte Implementierungen: Den erforderlichen Allow-Header nicht einschließen, der unterstützte Methoden auflistet, 405 verwenden, wenn die Ressource nicht existiert (verwenden Sie 404), oder 405 für Methoden zurückgeben, die der Server unterstützen sollte, aber noch nicht implementiert hat (erwägen Sie 501).
Mozilla.org Developer Doc für zusätzliche Referenz
Was ist ein 406-Statuscode?
HTTP: 406 Not Acceptable
Wann und warum Server ihn zurückgeben: Der Server kann die Ressource nicht in einem Format bereitstellen, das Sie akzeptieren werden. Es ist wie nach einem Menü auf Französisch in einem Restaurant zu fragen, das nur englische und spanische Versionen hat.
Praktische Anwendungsfälle: JSON von einem Endpunkt anfordern, der nur XML bereitstellt, nach einem Bildformat fragen, das der Server nicht unterstützt, Fehler bei der Sprachaushandlung oder jede Inhaltsnegotiation-Nichtübereinstimmung.
Wie Clients auf diesen Status reagieren sollten: Ändern Sie Ihre Accept-Header, um ein Format anzufordern, das der Server bereitstellen kann, oder behandeln Sie die verfügbaren Formate. Die Antwort könnte auflisten, welche Formate verfügbar sind.
Missbrauch oder fehlerhafte Implementierungen: Zu streng bei Formaten sein, wenn Sie ein vernünftiges Standard bereitstellen könnten, 406 für Nicht-Inhaltsnegotiation-Fehler verwenden, oder nicht klar angeben, welche Formate verfügbar sind.
Mozilla.org Developer Doc für zusätzliche Referenz
Was ist ein 407-Statuscode?
HTTP: 407 Proxy Authentication Required
Wann und warum Server ihn zurückgeben: Ein Proxy-Server zwischen Ihnen und dem Ziel erfordert Authentifizierung. Es ist wie dem Sicherheitsdienst einen Ausweis zeigen zu müssen, bevor Sie überhaupt zum Gebäude gelangen können, das Sie betreten möchten.
Praktische Anwendungsfälle: Unternehmens-Proxy-Server, die Mitarbeiter-Login erfordern, Netzwerk-Gateways, die Authentifizierung benötigen, bezahlte Proxy-Dienste, die Anmeldeinformationen erfordern, oder jede authentifizierte Proxy-Konfiguration.
Wie Clients auf diesen Status reagieren sollten: Authentifizieren Sie sich beim Proxy-Server (nicht beim Zielserver) mit der im Proxy-Authenticate-Header angegebenen Methode und wiederholen Sie dann die ursprüngliche Anfrage.
Missbrauch oder fehlerhafte Implementierungen: Dies mit regulärer 401-Authentifizierung verwechseln, den Proxy-Authenticate-Header nicht einschließen, oder 407 verwenden, wenn es der Zielserver (nicht Proxy) ist, der Authentifizierung erfordert.
Mozilla.org Developer Doc für zusätzliche Referenz
Was ist ein 408-Statuscode?
HTTP: 408 Request Timeout
Wann und warum Server ihn zurückgeben: Der Server hat darauf gewartet, dass Sie die vollständige Anfrage senden, aber Sie haben zu lange gebraucht. Es ist wie in einem Restaurant zu bestellen zu beginnen, aber so lange zu pausieren, dass der Kellner weggeht.
Praktische Anwendungsfälle: Langsame Netzwerkverbindungen, die Verzögerungen verursachen, große Datei-Uploads über schlechte Verbindungen, Client-Anwendungen, die während der Anforderungsübertragung einfrieren, oder Netzwerkunterbrechungen beim Senden von Daten.
Wie Clients auf diesen Status reagieren sollten: Sie können die Anfrage wiederholen, vorzugsweise mit einer besseren Verbindung oder kleineren Nutzlast. Erwägen Sie, große Anfragen in kleinere Teile zu zerlegen oder die Netzwerkbedingungen zu verbessern.
Missbrauch oder fehlerhafte Implementierungen: 408 verwenden, wenn der Server langsam ist (das ist 504), unangemessen kurze Timeouts setzen, oder 408 für Timeouts auf Anwendungsebene anstatt auf Netzwerkebene verwenden.
Mozilla.org Developer Doc für zusätzliche Referenz
Was ist ein 409-Statuscode?
HTTP: 409 Conflict
Wann und warum Server ihn zurückgeben: Ihre Anfrage steht im Konflikt mit dem aktuellen Zustand der Ressource. Es ist wie zu versuchen, einen Benutzernamen zu erstellen, der bereits vergeben ist - die Operation ergibt Sinn, kann aber jetzt nicht durchgeführt werden.
Praktische Anwendungsfälle: Versuch, einen doppelten Datensatz zu erstellen, ein Dokument zu bearbeiten, das gerade jemand anderes bearbeitet, Versionskonflikte in kollaborativen Systemen oder Verletzung von Geschäftsregeln (wie doppelte Buchung einer Ressource).
Wie Clients auf diesen Status reagieren sollten: Lösen Sie den Konflikt, indem Sie einen anderen Wert wählen, Änderungen zusammenführen oder warten, bis der Konflikt sich klärt. Die Antwort sollte erklären, was der Konflikt ist und wie er gelöst werden kann.
Missbrauch oder fehlerhafte Implementierungen: 409 für Validierungsfehler verwenden (erwägen Sie 422), nicht erklären, wie der Konflikt gelöst werden kann, 409 für Berechtigungsprobleme verwenden (verwenden Sie 403), oder Konflikte melden, die vom Client tatsächlich nicht lösbar sind.
Mozilla.org Developer Doc für zusätzliche Referenz
Was ist ein 410-Statuscode?
HTTP: 410 Gone
Wann und warum Server ihn zurückgeben: Die Ressource existierte hier früher, wurde aber absichtlich entfernt und wird nicht zurückkommen. Es ist wie ein abgerissenes Gebäude zu besuchen - es ist nicht nur vorübergehend geschlossen, es ist dauerhaft weg.
Praktische Anwendungsfälle: Artikel oder Beiträge, die wegen Richtlinienverletzungen gelöscht wurden, Produkte, die für immer eingestellt wurden, alte API-Versionen, die eingestellt wurden, oder jeder Inhalt, der absichtlich und dauerhaft entfernt wurde.
Wie Clients auf diesen Status reagieren sollten: Lesezeichen entfernen, Links aktualisieren und Benutzer informieren, dass der Inhalt dauerhaft weg ist. Suchmaschinen sollten diese URLs aus ihrem Index entfernen. Überprüfen Sie nicht weiter - es kommt nicht zurück.
Missbrauch oder fehlerhafte Implementierungen: 410 für temporäre Entfernungen verwenden (verwenden Sie 503), 410 verwenden, wenn Sie den Inhalt möglicherweise wiederherstellen, 410 für Dinge verwenden, die nie existiert haben (verwenden Sie 404), oder nicht sicher sein, dass die Entfernung dauerhaft ist.
Mozilla.org Developer Doc für zusätzliche Referenz
Was ist ein 418-Statuscode?
HTTP: 418 I’m a teapot
Wann und warum Server ihn zurückgeben: Dies ist ein Scherz-Statuscode aus einem April-Scherz-RFC über die Steuerung von Kaffeemaschinen. Es bedeutet “Ich bin eine Teekanne, und Sie haben mich gebeten, Kaffee zu brühen, was ich nicht kann.”
Praktische Anwendungsfälle: Ostereier in Anwendungen, Demonstration der Erweiterbarkeit von HTTP in Programmierkursen, Hinzufügen von Humor zu Entwicklungs-/Testumgebungen oder als verspielte Antwort in geeigneten Kontexten.
Wie Clients auf diesen Status reagieren sollten: Erkennen Sie es als humorvolle Antwort und behandeln Sie es entsprechend - zeigen Sie möglicherweise eine lustige Fehlermeldung oder teebezogene Bilder an. Erwarten Sie dies nicht in seriösen Produktionsumgebungen.
Missbrauch oder fehlerhafte Implementierungen: 418 für tatsächliche Fehler in Produktionssystemen verwenden, es bis zum Ärger überbeanspruchen, oder es an Benutzer zurückgeben, die den Witz nicht verstehen werden.
Mozilla.org Developer Doc für zusätzliche Referenz
Was ist ein 422-Statuscode?
HTTP: 422 Unprocessable Entity
Wann und warum Server ihn zurückgeben: Ihr Anfrageformat ist korrekt, aber der Inhalt ergibt keinen Sinn. Es ist wie ein Formular korrekt auszufüllen, aber unmögliche Daten einzugeben - wie 300 Jahre alt zu sein oder in der Zukunft geboren zu sein.
Praktische Anwendungsfälle: Formularvalidierungsfehler (E-Mail ohne @-Symbol), Geschäftsregelverletzungen (Enddatum vor Startdatum), semantische Fehler in API-Anfragen oder logische Fehler in korrekt formatierten Daten.
Wie Clients auf diesen Status reagieren sollten: Lesen Sie die Fehlerdetails, um zu verstehen, welche Validierung fehlgeschlagen ist, korrigieren Sie die Daten, um die Anforderungen zu erfüllen, und übermitteln Sie erneut. Die Struktur war in Ordnung; der Inhalt muss angepasst werden.
Missbrauch oder fehlerhafte Implementierungen: 422 für Syntaxfehler verwenden (verwenden Sie 400), keine spezifischen Validierungsfehlerdetails bereitstellen, 422 für Authentifizierungs-/Autorisierungsprobleme verwenden, oder inkonsistent sein, was 422 vs 400 auslöst.
Mozilla.org Developer Doc für zusätzliche Referenz
Was ist ein 429-Statuscode?
HTTP: 429 Too Many Requests
Wann und warum Server ihn zurückgeben: Sie senden zu viele Anfragen zu schnell. Es ist wie jemanden wiederholt anzurufen - irgendwann werden sie aufhören zu antworten und Ihnen sagen, langsamer zu machen.
Praktische Anwendungsfälle: API-Ratenbegrenzung (z.B. 100 Anfragen pro Stunde), Missbrauch oder DDoS-Angriffe verhindern, Server davor schützen, überwältigt zu werden, oder faire Nutzungsrichtlinien durchsetzen.
Wie Clients auf diesen Status reagieren sollten: Stoppen Sie Anfragen zu stellen und warten Sie. Überprüfen Sie den Retry-After-Header, um zu sehen, wann Sie es erneut versuchen können. Implementieren Sie exponentielles Backoff - warten Sie länger zwischen jedem Wiederholungsversuch.
Missbrauch oder fehlerhafte Implementierungen: Retry-After-Header nicht einschließen, um Clients zu leiten, Limits zu niedrig für normale Nutzung setzen, 429 für andere Arten von Überlastung verwenden (erwägen Sie 503), oder Ratenlimits nicht klar dokumentieren.
Mozilla.org Developer Doc für zusätzliche Referenz
Was ist ein 451-Statuscode?
HTTP: 451 Unavailable For Legal Reasons
Wann und warum Server ihn zurückgeben: Inhalt ist aufgrund rechtlicher Anforderungen blockiert. Benannt nach Ray Bradburys “Fahrenheit 451” über Zensur, zeigt dieser Status staatliche oder rechtliche Blockierung an.
Praktische Anwendungsfälle: Inhalt, der per Gerichtsbeschluss blockiert wurde, DMCA-Takedown-Benachrichtigungen, geografische Beschränkungen aufgrund lokaler Gesetze, staatliche Zensurauforderungen oder jede rechtlich vorgeschriebene Inhaltsblockierung.
Wie Clients auf diesen Status reagieren sollten: Informieren Sie Benutzer, dass Inhalt rechtlich eingeschränkt ist. Die Antwort könnte Details darüber enthalten, wer die Blockierung verlangt hat (wenn das rechtlich erlaubt ist zu teilen).
Missbrauch oder fehlerhafte Implementierungen: 451 für nicht-rechtliche Blockierungen verwenden (verwenden Sie entsprechenden 4xx-Code), nicht transparent über rechtliche Blockierungen sein, wenn möglich, oder 451 für freiwillige Inhaltsrichtlinien anstatt rechtlicher Anforderungen verwenden.
Mozilla.org Developer Doc für zusätzliche Referenz
5xx Server-Fehler
Diese Codes zeigen an, dass der Server eine gültige Anfrage nicht erfüllen konnte.
Was ist ein 500-Statuscode?
HTTP: 500 Internal Server Error
Wann und warum Server ihn zurückgeben: Auf der Serverseite ist etwas schiefgelaufen, und er weiß nicht, wie er damit umgehen soll. Es ist wie eine Kasse, die in einem Geschäft abstürzt - das Problem liegt nicht bei Ihrer Zahlungsmethode, deren System ist einfach kaputt gegangen.
Praktische Anwendungsfälle: Wenn die Datenbankverbindung fehlschlägt, wenn es einen Fehler im Servercode gibt, wenn dem Server der Speicher ausgeht, oder jeder unerwartete Absturz, den die Programmierer nicht vorhergesehen haben.
Wie Clients auf diesen Status reagieren sollten: Teilen Sie Benutzern mit, dass etwas schiefgelaufen ist, und schlagen Sie vor, es später erneut zu versuchen. Sie könnten nach einer Verzögerung automatisch wiederholen, da diese Fehler oft vorübergehend sind.
Missbrauch oder fehlerhafte Implementierungen: 500 für Benutzerfehler verwenden (verwenden Sie 4xx-Codes dafür), detaillierte Fehlermeldungen an Benutzer zeigen (Sicherheitsrisiko!), nicht genug Details protokollieren, um das Problem zu beheben, oder 500 als faule Auffangbecken für jeden Fehler verwenden.
Mozilla.org Developer Doc für zusätzliche Referenz
Was ist ein 501-Statuscode?
HTTP: 501 Not Implemented
Wann und warum Server ihn zurückgeben: Der Server unterstützt die von Ihnen angeforderte Funktionalität nicht. Es ist wie einen einfachen Taschenrechner zu bitten, Funktionen zu grafieren - er versteht, was Sie wollen, hat aber diese Funktion nicht.
Praktische Anwendungsfälle: HTTP-Methoden verwenden, die der Server nicht erkennt, Funktionen anfordern, die geplant, aber noch nicht gebaut sind, Legacy-Server, die moderne Funktionen nicht unterstützen, oder benutzerdefinierte Methoden, die nicht implementiert sind.
Wie Clients auf diesen Status reagieren sollten: Wiederholen Sie diese Anfrage nicht - der Server kann sie nicht bearbeiten. Verwenden Sie einen anderen Ansatz oder überprüfen Sie, ob es eine alternative Möglichkeit gibt, zu erreichen, was Sie benötigen.
Missbrauch oder fehlerhafte Implementierungen: 501 für vorübergehend deaktivierte Funktionen verwenden (verwenden Sie 503), 501 für Methoden verwenden, die Sie erkennen, aber nicht erlauben (verwenden Sie 405), oder 501 als Ausrede für fehlende Funktionen verwenden, die implementiert werden sollten.
Mozilla.org Developer Doc für zusätzliche Referenz
Was ist ein 502-Statuscode?
HTTP: 502 Bad Gateway
Wann und warum Server ihn zurückgeben: Ein Server, der als Gateway oder Proxy fungiert, hat eine ungültige Antwort von einem vorgelagerten Server erhalten. Es ist wie jemanden zu bitten, eine Nachricht weiterzugeben, aber sie kommen zurück und sagen “die Person, die ich gefragt habe, hat mir Kauderwelsch gegeben.”
Praktische Anwendungsfälle: Load Balancer kann Backend-Server nicht erreichen, API-Gateway erhält Fehler von Microservices, Reverse-Proxy erhält fehlerhafte Antworten, oder CDN kann nicht vom Ursprungsserver abrufen.
Wie Clients auf diesen Status reagieren sollten: Dies ist normalerweise vorübergehend, also versuchen Sie es nach kurzer Verzögerung erneut. Das Problem liegt zwischen Servern, nicht bei Ihrer Anfrage, also könnte eine Wiederholung funktionieren, sobald sie ihre Kommunikationsprobleme beheben.
Missbrauch oder fehlerhafte Implementierungen: 502 für die eigenen Fehler des Ursprungsservers verwenden (verwenden Sie 500), nicht zwischen “kann nicht erreichen” und “ungültige Antwort”-Szenarien unterscheiden, oder 502 verwenden, wenn das Gateway selbst Probleme hat.
Mozilla.org Developer Doc für zusätzliche Referenz
Was ist ein 503-Statuscode?
HTTP: 503 Service Unavailable
Wann und warum Server ihn zurückgeben: Der Server ist vorübergehend nicht in der Lage, Anfragen zu bearbeiten. Es ist wie ein Geschäft, das ein “wegen Wartung geschlossen”-Schild aufstellt - sie werden zurück sein, aber jetzt nicht.
Praktische Anwendungsfälle: Geplante Wartungsfenster, Server-Überlastungssituationen, temporäre Ausfälle für Updates, Ratenbegrenzung auf Serverebene oder jede temporäre Unfähigkeit, Anfragen zu bedienen.
Wie Clients auf diesen Status reagieren sollten: Warten Sie und versuchen Sie es später erneut. Überprüfen Sie den Retry-After-Header für Hinweise, wann Sie zurückkommen sollten. Implementieren Sie exponentielles Backoff für Wiederholungen, um zu vermeiden, den Server zu überlasten, wenn er zurückkommt.
Missbrauch oder fehlerhafte Implementierungen: 503 für permanente Probleme verwenden (verwenden Sie entsprechenden Fehler), Retry-After nicht einschließen, wenn Sie wissen, wie lange es dauern wird, 503 für clientspezifische Probleme anstatt serverweite Probleme verwenden.
Mozilla.org Developer Doc für zusätzliche Referenz
Was ist ein 504-Statuscode?
HTTP: 504 Gateway Timeout
Wann und warum Server ihn zurückgeben: Ein Server, der als Gateway oder Proxy fungiert, hat keine rechtzeitige Antwort von einem vorgelagerten Server erhalten. Es ist wie jemanden zu bitten, eine Nachricht weiterzugeben, aber sie kommen zurück und sagen “ich habe gewartet und gewartet, aber sie haben nie geantwortet.”
Praktische Anwendungsfälle: Datenbankabfragen, die zu lange dauern, überlastete Backend-Dienste, Netzwerkprobleme zwischen Servern, Microservices, die nicht schnell genug antworten, oder jedes Timeout in Server-zu-Server-Kommunikation.
Wie Clients auf diesen Status reagieren sollten: Sie können es wiederholen, aber seien Sie sich bewusst, dass die Operation möglicherweise teuer oder langsam ist. Überlegen Sie, ob die Anfrage kritisch genug ist, um sie zu wiederholen, und implementieren Sie vernünftige Wiederholungslimits.
Missbrauch oder fehlerhafte Implementierungen: 504 verwenden, wenn Clients langsam sind (verwenden Sie 408), Timeouts zu kurz für vernünftige Operationen setzen, nicht zwischen verschiedenen Timeout-Szenarien unterscheiden, oder 504 für die eigenen Timeouts des Ursprungsservers verwenden.
Mozilla.org Developer Doc für zusätzliche Referenz
Was ist ein 505-Statuscode?
HTTP: 505 HTTP Version Not Supported
Wann und warum Server ihn zurückgeben: Der Server unterstützt die in der Anfrage verwendete HTTP-Version nicht. Es ist wie zu versuchen, eine Blu-ray-Disc in einem DVD-Player abzuspielen - der Player versteht, was Sie wollen, kann aber dieses Format nicht verarbeiten.
Praktische Anwendungsfälle: Alte Server, die nur HTTP/1.0 unterstützen und HTTP/2-Anfragen erhalten, Server, die noch nicht auf neuere HTTP-Versionen aktualisiert wurden, oder benutzerdefinierte/experimentelle HTTP-Versionen, die der Server nicht erkennt.
Wie Clients auf diesen Status reagieren sollten: Wiederholen Sie die Anfrage mit einer anderen HTTP-Version, typischerweise zurückfallend auf HTTP/1.1, das universell unterstützt wird. Überprüfen Sie, welche Versionen der Server unterstützt.
Missbrauch oder fehlerhafte Implementierungen: 505 für nicht unterstützte Funktionen innerhalb einer Version verwenden (verwenden Sie 501), nicht versuchen, Versionsaushandlung elegant zu handhaben, oder Standard-HTTP-Versionen ablehnen, die unterstützt werden sollten.
Mozilla.org Developer Doc für zusätzliche Referenz
Was ist ein 507-Statuscode?
HTTP: 507 Insufficient Storage
Wann und warum Server ihn zurückgeben: Der Server hat nicht genug Speicherplatz, um die Anfrage abzuschließen. Es ist wie zu versuchen, eine Datei zu speichern, wenn die Festplatte voll ist.
Praktische Anwendungsfälle: Fehler beim Datei-Upload aufgrund voller Festplatte, Datenbankoperationen, die Speicherkontingente erreichen, WebDAV-Operationen, die zugewiesenen Speicherplatz überschreiten, oder jede Operation, die mehr Speicher erfordert, als verfügbar ist.
Wie Clients auf diesen Status reagieren sollten: Informieren Sie Benutzer über Speicherlimits. Könnte alte Inhalte löschen, mehr Speicher anfordern oder die Größe dessen reduzieren müssen, was Sie zu speichern versuchen.
Missbrauch oder fehlerhafte Implementierungen: 507 für temporäre Speicherprobleme verwenden, die sich klären werden (erwägen Sie 503), Speicher nicht ordnungsgemäß überwachen, 507 für Kontingentprobleme verwenden, die nichts mit physischem Speicher zu tun haben, oder keine Informationen über Speicherlimits bereitstellen.
Mozilla.org Developer Doc für zusätzliche Referenz
Was ist ein 508-Statuscode?
HTTP: 508 Loop Detected
Wann und warum Server ihn zurückgeben: Der Server hat eine Endlosschleife bei der Verarbeitung der Anfrage erkannt. Es ist wie Anweisungen zu folgen, die am Ende “siehe Schritt 1” sagen - Sie würden für immer im Kreis gehen.
Praktische Anwendungsfälle: WebDAV-Operationen mit Zirkelverweisen, Weiterleitungsketten, die auf sich selbst zurückschleifen, symbolische Links, die Zyklen erstellen, oder jede Serveroperation, die erkennt, dass sie sich endlos wiederholt.
Wie Clients auf diesen Status reagieren sollten: Wiederholen Sie nicht dieselbe Anfrage - sie wird auf dieselbe Schleife stoßen. Überprüfen Sie Ihre Datenstruktur auf Zirkelverweise und beheben Sie diese, bevor Sie es erneut versuchen.
Missbrauch oder fehlerhafte Implementierungen: 508 für Nicht-Schleifen-Fehler verwenden, keine ordnungsgemäße Schleifenerkennung implementieren, 508 für clientseitige Weiterleitungsschleifen verwenden (die anders erscheinen), oder falsche Positive als Schleifen erkennen.
Mozilla.org Developer Doc für zusätzliche Referenz
Was ist ein 511-Statuscode?
HTTP: 511 Network Authentication Required
Wann und warum Server ihn zurückgeben: Sie müssen sich beim Netzwerk selbst authentifizieren, bevor Sie auf das Internet zugreifen können. Es ist wie sich in Hotel-WiFi anmelden zu müssen, bevor Sie Websites durchsuchen können.
Praktische Anwendungsfälle: Hotel- oder Flughafen-WiFi-Anmeldeseiten, Unternehmens-Netzwerkzugangsportale, öffentliches WiFi, das das Akzeptieren von Nutzungsbedingungen erfordert, oder jede Captive-Portal-Situation.
Wie Clients auf diesen Status reagieren sollten: Leiten Sie Benutzer zur Netzwerk-Anmeldeseite um (normalerweise in der Antwort bereitgestellt). Sobald sie sich beim Netzwerk authentifiziert haben, können sie ihre ursprüngliche Anfrage wiederholen.
Missbrauch oder fehlerhafte Implementierungen: 511 für Website-Anmeldeanforderungen verwenden (verwenden Sie 401), 511 für Proxy-Authentifizierung verwenden (verwenden Sie 407), oder Captive Portals auf Weisen implementieren, die sichere Verbindungen brechen.
Mozilla.org Developer Doc für zusätzliche Referenz