HTTP-statuscodes spiekbriefje
Informatieve antwoorden
| Statuscode | Reden tekst | Betekenis | HTTP-versie |
|---|---|---|---|
| 100 | Continue | De client moet doorgaan met het verzenden van het verzoek. Dit tijdelijke antwoord wordt gebruikt om de client te informeren dat een deel van het verzoek is ontvangen door de server en nog niet is geweigerd. De client moet de rest van het verzoek blijven verzenden, of als het verzoek al voltooid is, dit antwoord negeren. De server moet een definitief antwoord sturen nadat het verzoek is voltooid. | HTTP/1.1 Beschikbaar |
| 101 | Switching Protocols | De server heeft het verzoek van de client begrepen en zal de client via de Upgrade-header informeren om een ander protocol te gebruiken om het verzoek te voltooien. Na het verzenden van de laatste lege regel van dit antwoord, schakelt de server over naar de protocollen die in de Upgrade-header zijn gedefinieerd. Deze maatregel mag alleen worden genomen wanneer overschakelen naar een nieuw protocol voordeliger is. Bijvoorbeeld: overschakelen naar een nieuwe versie van HTTP is voordeliger dan een oudere versie, of overschakelen naar een real-time, synchroon protocol om bronnen te leveren die dergelijke functies gebruiken. | HTTP/1.1 Beschikbaar |
Succesvolle antwoorden
| Statuscode | Reden tekst | Betekenis | HTTP-versie |
|---|---|---|---|
| 200 | OK | Het verzoek is geslaagd. De betekenis van succes varieert afhankelijk van de methode die voor het verzoek werd gebruikt.- GET: De bron is opgehaald en teruggestuurd naar de client als antwoord-body.- HEAD: De entiteitsheader is teruggestuurd naar de client als antwoord-header.- POST: Nadat de server de door de client verzonden gegevens heeft verwerkt, wordt de juiste bron teruggestuurd naar de client als antwoord-body.- TRACE: Het door de server ontvangen verzoekbericht wordt teruggestuurd naar de client als antwoord-body. | HTTP/0.9 Beschikbaar |
| 201 | Created | Het verzoek is geslaagd en er is een nieuwe bron gemaakt op basis van de behoeften van het verzoek. Dit is meestal de antwoordcode die wordt verkregen via de PUT-methode. | HTTP/0.9 Beschikbaar |
| 202 | Accepted | De server heeft het verzoek geaccepteerd, maar nog niet verwerkt. Net zoals het geweigerd zou kunnen worden, kan het verzoek uiteindelijk wel of niet worden uitgevoerd. In asynchrone bewerkingen is er geen handiger manier dan het verzenden van deze statuscode. Het doel van het retourneren van een 202-statuscode-antwoord is om de server in staat te stellen verzoeken voor andere processen te accepteren (bijv. een batchbewerking die slechts eenmaal per dag wordt uitgevoerd) tanpa dat de client verbonden moet blijven tot de batchbewerking is voltooid. Het antwoord dat de 202-statuscode retourneert, moet informatie bevatten die de huidige status van de verwerking in de entiteit aangeeft, en een verwijzing naar een verwerkingsstatusmonitor of statusvoorspelling, zodat de gebruiker kan inschatten of de bewerking is voltooid. | HTTP/0.9 Beschikbaar |
| 203 | Non-Authoritative Information | De server heeft het verzoek met succes verwerkt, maar de geretourneerde meta-informatie in de entiteitsheader is geen deterministische set die geldig is op de origin-server, maar is afkomstig van een lokale kopie of een kopie van een derde partij. Als dit niet het geval is, is het gebruik van de 200-statuscode het meest toepasselijk. | HTTP/0.9 en 1.1 |
| 204 | No Content | Er is geen antwoordinhoud, alleen antwoord-headers. De antwoord-headers kunnen ook nuttig zijn. User agents kunnen de cache-informatie van de bijbehorende bronnen bijwerken op basis van de nieuwe antwoord-headers. | HTTP/0.9 Beschikbaar |
| 205 | Reset Content | Vertelt de user agent om de documentweergave van het venster dat het verzoek heeft verzonden, te resetten. | HTTP/1.1 Beschikbaar |
| 206 | Partial Content | Deze statuscode wordt gebruikt wanneer de client bestanden in segmenten downloadt met behulp van het range-header-veld. | HTTP/1.1 Beschikbaar |
Omleidingsberichten
| Statuscode | Reden tekst | Betekenis | HTTP-versie |
|---|---|---|---|
| 300 | Multiple Choice | Er zijn meerdere mogelijke antwoorden op het verzoek, en de user agent of de gebruiker moet er een kiezen. De server heeft geen standaarden om te volgen om de gebruiker te vervangen bij het maken van de keuze. | HTTP/1.0 en later |
| 301 | Moved Permanently | Deze statuscode geeft aan dat het bronpad van de aangevraagde URI is gewijzigd en dat de nieuwe URL te vinden is in het Location-header-veld van het antwoord. |
HTTP/0.9 Beschikbaar |
| 302 | Found | Deze statuscode geeft aan dat het bronpad van de aangevraagde URI tijdelijk is gewijzigd en mogelijk nog zal veranderen. Daarom moet de client deze URI blijven gebruiken voor toekomstige toegang. De nieuwe URL is te vinden in het Location:-header-veld van het antwoord. |
HTTP/0.9 Beschikbaar |
| 303 | See Other | De server stuurt dit antwoord om de client te begeleiden om de GET-methode te gebruiken voor toegang tot een andere URI. | HTTP/0.9 en 1.1 |
| 304 | Not Modified | Vertelt de client dat de aangevraagde inhoud sinds de laatste toegang niet is gewijzigd. De client kan de bron rechtstreeks uit de browsercache ophalen. | HTTP/0.9 Beschikbaar |
| 305 | Use Proxy | De aangevraagde bron moet via een proxy worden benaderd. Om veiligheidsredenen wordt deze statuscode niet breed ondersteund. | HTTP/1.1 Beschikbaar |
| 306 | unused | Deze statuscode wordt niet meer gebruikt; hij werd oorspronkelijk gebruikt in oudere versies van de HTTP 1.1-specificatie. | HTTP/1.1 Beschikbaar |
| 307 | Temporary Redirect | De server stuurt dit antwoord om de client te begeleiden om dezelfde methode te gebruiken voor toegang tot een andere URI om de gewenste bron te verkrijgen. De nieuwe URL is te vinden in het Location:-header-veld van het antwoord. Het heeft dezelfde semantiek als de 302-statuscode en dezelfde methode (GET, POST) moet voor beide toegangen worden gebruikt. |
HTTP/1.1 Beschikbaar |
| 308 | Permanent Redirect | De aangevraagde bron bevindt zich permanent op een andere URI. De nieuwe URL is te vinden in het Location:-header-veld van het antwoord. Het heeft dezelfde semantiek als de 301-statuscode en dezelfde methode (GET, POST) moet voor beide toegangen worden gebruikt. |
HTTPbis (Experimenteel ontwerp) |
Client-foutantwoorden
| Statuscode | Reden tekst | Betekenis | HTTP-versie |
|---|---|---|---|
| 400 | Bad Request | De server kan het verzoek niet normaal lezen vanwege een syntaxfout in het verzonden verzoek. | HTTP/0.9 Beschikbaar |
| 401 | Unauthorized | Authenticatie is vereist om de aangevraagde inhoud te verkrijgen, vergelijkbaar met een 403-fout. Het verschil is dat na een 401-fout de authenticatie kan worden doorstaan zolang de juiste account en wachtwoord worden ingevoerd. | HTTP/0.9 Beschikbaar |
| 402 | Payment Required | Deze statuscode is gereserveerd voor toekomstig gebruik. Het oorspronkelijke doel van deze code was voor digitale betalingssystemen; het is echter nog niet in gebruik genomen. | HTTP/0.9 en 1.1 |
| 403 | Forbidden | De client heeft niet het recht om toegang te krijgen tot de aangevraagde inhoud en de server weigert het verzoek. | HTTP/0.9 Beschikbaar |
| 404 | Not Found | De server kan de aangevraagde bron niet vinden. Omdat dit vaak gebeurt, komt deze statuscode zeer veel voor tijdens het surfen op het web. | HTTP/0.9 Beschikbaar |
| 405 | Method Not Allowed | De voor het verzoek gebruikte methode is verboden door de server. RFC2616 bepaalt dat de methoden GET en HEAD niet verboden mogen worden. |
HTTP/1.1 Beschikbaar |
| 406 | Not Acceptable | Er is geen geschikte inhoud gevonden om naar de client terug te sturen na inhoudsonderhandeling door de server. | HTTP/1.1 Beschikbaar |
| 407 | Proxy Authentication Required | Vergelijkbaar met statuscode 401, maar authenticatie is vereist via een proxy. | HTTP/1.1 Beschikbaar |
| 408 | Request Timeout | De client heeft het verzenden van een verzoek niet voltooid binnen de tijd dat de server bereid was te wachten. Dit betekent dat de server de verbinding met de client zal verbreken. Dit antwoord komt vaker voor in andere browsers, zoals Chrome en IE9, om het browsen te versnellen met behulp van het HTTP-pre-connection-mechanisme. Merk ook op dat sommige servers de verbinding rechtstreeks verbreken zonder een dergelijk antwoord te sturen. | HTTP/1.1 Beschikbaar |
| 409 | Conflict | Dit verzoek is in conflict met de huidige status van de server. | HTTP/1.1 Beschikbaar |
| 410 | Gone | De aangevraagde bron is verwijderd. | HTTP/1.1 Beschikbaar |
| 411 | Length Required | De server weigert het verzoek omdat het het Content-Length-header-veld vereist in dit verzoek, maar de client dit niet heeft verzonden. |
HTTP/1.1 Beschikbaar |
| 412 | Precondition Failed | De server heeft niet voldaan aan de vooraf gestelde voorwaarden die door de client in de verzoek-headers waren ingesteld bij het ophalen van de bron. | HTTP/1.1 Beschikbaar |
| 413 | Request Entity Too Large | De grootte van de verzoekentiteit overschrijdt de door de server ingestelde maximumlimiet; de server kan de HTTP-verbinding sluiten en de Retry-After-header retourneren. |
HTTP/1.1 Beschikbaar |
| 414 | Request-URI Too Long | Het URI-adres in het verzoek van de client is te lang om door de server verwerkt te worden. | HTTP/1.1 Beschikbaar |
| 415 | Unsupported Media Type | De server ondersteunt het door de client aangevraagde mediatype niet en weigert daarom het verzoek. | HTTP/1.1 Beschikbaar |
| 416 | Requested Range Not Satisfiable | Het Range-header-veld in het verzoek kan niet worden vervuld, meestal omdat het nummerbereik in Range groter is dan de grootte van de aangevraagde bron. |
HTTP/1.1 Beschikbaar |
| 417 | Expectation Failed | De verwachte inhoud gespecificeerd in de verzoek-header Expect kan niet worden vervuld door de server. |
HTTP/1.1 Beschikbaar |
Server-foutantwoorden
| Statuscode | Reden tekst | Betekenis | HTTP-versie |
|---|---|---|---|
| 500 | Internal Server Error | De server is een onbekend, onoplosbaar probleem tegengekomen. | HTTP/0.9 Beschikbaar |
| 501 | Not Implemented | De server ondersteunt de methode die in het verzoek wordt gebruikt niet, zoals POST en PUT. Alleen GET en HEAD zijn de methoden die de server moet implementeren zoals gespecificeerd in de RFC2616-specificatie. |
HTTP/0.9 Beschikbaar |
| 502 | Bad Gateway | De server fungeert als gateway en heeft een ongeldig HTTP-antwoord ontvangen van de upstream-server. | HTTP/0.9 Beschikbaar |
| 503 | Service Unavailable | De server is momenteel niet in staat het verzoek te verwerken vanwege tijdelijk serveronderhoud of overbelasting. Deze situatie is tijdelijk en zal na enige tijd herstellen. Als de vertragingstijd kan worden geschat, kan het antwoord een Retry-After:-header bevatten om deze vertragingstijd aan te geven. Als er geen Retry-After:-informatie wordt gegeven, moet de client dit behandelen als een 500-antwoord. Ondertussen moet in dit geval een gebruiksvriendelijke pagina worden geretourneerd waarin het probleem met de server wordt uitgelegd, en moet er ka ook che-gerelateerde HTTP-headerinformatie worden opgenomen, aangezien dergelijke foutpagina’s normaal gesproken niet door de client mogen worden gecachet. |
HTTP/0.9 Beschikbaar |
| 504 | Gateway Timeout | De server fungeert als gateway en kan niet tijdig een antwoord van de upstream-server ontvangen om naar de client terug te sturen. | HTTP/1.1 Beschikbaar |
| 505 | HTTP Version Not Supported | De server ondersteunt de versie van het HTTP-protocol niet die wordt gebruikt in het door de client verzonden HTTP-verzoek. | HTTP/1.1 Beschikbaar |