HTTP-statuscodes
Een HTTP-antwoord begint met een driecijferige code en een korte redenfrase. Het eerste cijfer is de hele samenvatting: 1xx is voorlopig, 2xx is geslaagd, 3xx wijst ergens anders, 4xx beschuldigt het verzoek, 5xx beschuldigt de server. Als je dat onthoud, kun je een logbestand lezen dat je nog nooit hebt gezien.
De redenfrasen hier zijn die uit de RFC's, in het Engels, omdat dat is wat op de draad reist — een server stuurt "Not Found", niet een vertaling ervan, en een frase die je in een logboek zoekt, moet overeenkomen met de bytes die daadwerkelijk werden verzonden.
De onderscheidingen die echte problemen veroorzaken, zijn binnen de klassen in plaats van ertussen: 401 versus 403, 301 versus 308, en 502 versus 503 antwoorden elk een andere vraag over wat te doen, en elk wordt routineus voor het ander gebruikt.
1xx — Informatief
3Voorlopig: het antwoord is niet definitief en er volgt nog een.
| Code | Redenfrase | Wat het betekent |
|---|---|---|
| 100 | Continue | Headers ontvangen, ga door met het verzenden van de body. |
| 101 | Switching Protocols | Switching protocols — de WebSocket-handshake. |
| 103 | Early Hints | Early hints: laat deze bronnen voorladen terwijl het echte antwoord wordt voorbereid. |
2xx — Succes
5Het verzoek werd ontvangen, begrepen en aanvaard.
| Code | Redenfrase | Wat het betekent |
|---|---|---|
| 200 | OK | Succes, met een body. |
| 201 | Created | Gemaakt.Moet een Location-header bevatten die naar de nieuwe bron wijst. |
| 202 | Accepted | Aanvaard voor verwerking, die nog niet heeft plaatsgevonden. |
| 204 | No Content | Succes, en opzettelijk geen body.Het juiste antwoord op een DELETE, of op een opslagactie die niets terug te geven heeft. |
| 206 | Partial Content | Gedeeltelijke inhoud — het antwoord op een Range-verzoek. Herbruikbare downloads. |
3xx — Omleiding
6De bron is elders, of uw cachecopie is nog steeds goed.
| Code | Redenfrase | Wat het betekent |
|---|---|---|
| 301 | Moved Permanently | Permanent verplaatst. Werk uw koppelingen bij; caches mogen dit voor altijd behouden. |
| 302 | Found | Gevonden — een temporaire omleiding.Veel geïmplementeerd als overschakeling naar GET, wat 307 fixes. |
| 303 | See Other | Zie ander: haal het resultaat op met GET. De omleiding na een POST-formulier. |
| 304 | Not Modified | Niet gewijzigd — uw cachecopie is actueel. Verzonden zonder body. |
| 307 | Temporary Redirect | Temporaire omleiding, methode en body behouden. |
| 308 | Permanent Redirect | Permanente omleiding, methode en body behouden. |
4xx — Clientfout
14Het verzoek is het probleem. Het herhaald onveranderd mislukken zal opnieuw mislukken.
| Code | Redenfrase | Wat het betekent |
|---|---|---|
| 400 | Bad Request | De server kon het verzoek helemaal niet parseren. |
| 401 | Unauthorized | Niet geverifieerd — de server weet niet wie je bent.Genaamd Unauthorized, maar het betekent niet-geverifieerd. Moet WWW-Authenticate bevatten. |
| 403 | Forbidden | Geverifieerd en nog steeds niet toegestaan. Betere inloggegevens helpen niet. |
| 404 | Not Found | Geen dergelijke bron, en de server zegt niet of er ooit was. |
| 405 | Method Not Allowed | Verkeerde methode voor deze URL.Moet degenen die werken in een Allow-header vermelden. |
| 406 | Not Acceptable | Niets beschikbaar in een formaat dat uw Accept-header aanneemt. |
| 409 | Conflict | Conflicteert met de huidige staat — een bewerking tegen een verouderde versie. |
| 410 | Gone | Verdwenen: het bestond en werd opzettelijk verwijderd. Sterker dan 404. |
| 413 | Content Too Large | De body is groter dan de server aanvaardt. |
| 415 | Unsupported Media Type | De server verwerkt dit Content-Type niet. |
| 418 | I'm a teapot | Ik ben een theepot. Een 1998 Aprilgrap, permanent gereserveerd. |
| 422 | Unprocessable Content | Goed geparst, inhoud ongeldig — een ontbrekend veld, een slechte waarde. |
| 429 | Too Many Requests | Snelheid beperkt.Kijk naar Retry-After voordat u opnieuw probeert, en zet terug exponentieel. |
| 451 | Unavailable For Legal Reasons | Geblokkeerd om juridische redenen. Het getal is een knipoog naar Fahrenheit 451. |
5xx — Serverfout
6Het verzoek kan in orde zijn. Dit zijn de waard om opnieuw te proberen.
| Code | Redenfrase | Wat het betekent |
|---|---|---|
| 500 | Internal Server Error | Een onbehandelde fout op de server. Niets om aan uw kant te herstellen. |
| 501 | Not Implemented | De server implementeert deze methode helemaal niet. |
| 502 | Bad Gateway | Een proxy bereikt de upstream-server en kreeg iets onbruikbaars terug. |
| 503 | Service Unavailable | Opzettelijk niet serveren — overbelast of in onderhoud.De status die Retry-After moet dragen. |
| 504 | Gateway Timeout | Een proxy gaf het wachten op de upstream-server op. |
| 505 | HTTP Version Not Supported | De HTTP-versie in het verzoek wordt niet ondersteund. |