HTTP-statuscodes: Overzicht

Elke internetgebruiker wordt wel eens geconfronteerd met de boodschap“Error 404 – deze pagina bestaat niet“. Dit is een van de vele HTTP-statuscodes waarmee de server reageert op het verzoek van de cliënt. Deze bestaan uit …

HTTP-statuscodes: Overzicht

http status codes
  1. Tijdschrift
  2. »
  3. Artikel
  4. »
  5. Netwerk
  6. »
  7. HTTP-statuscodes: Overzicht

Elke internetgebruiker wordt wel eens geconfronteerd met de boodschap“Error 404 – deze pagina bestaat niet“. Dit is een van de vele HTTP-statuscodes waarmee de server reageert op het verzoek van de cliënt. Deze bestaan uit een getal van drie cijfers en geven informatie over het al dan niet slagen van een verzoek. In dit artikel hebben we de belangrijkste HTTP-statuscodes en hun betekenis voor u samengevat.

Wat is een HTTP-statuscode?

Dit is het antwoord van een server op een HTTP-verzoek van een client. Dit is meestal een webbrowser (bijv. Chrome, Firefox of Opera).

Wat betekenen de cijfers in de HTTP-statuscodes?

Het eerste cijfer van de driecijferige codes staat voor de statusklasse (bv. “Serverfout” of “Geslaagde bewerking”). Ze worden ook ingedeeld in verschillende RFC-documenten (“Request for Comments”).

Hoe kan ik de HTTP-statuscodes controleren?

De webbrowser geeft de statuscodes meestal niet weer. Om ze te observeren hebt u speciale tools of overeenkomstige browserextensies nodig.

De belangrijkste HTTP-statuscodes in één oogopslag

1xx: Informatieve codes

Code

Bericht

HTTP-versie

Beschrijving

100

Doorgaan

1.1

Het verzoek is geaccepteerd maar wordt nog verwerkt. De server wacht op verdere verzoeken van de client.

101

Protocollen schakelen

1.1

Deze code wordt gewoonlijk aan de clientzijde gevraagd en geeft aan dat de server instemt met een protocolverandering (bv. van HTTP naar een ander protocol).

102

Verwerking

2.0

Wordt gebruikt om time-outs te vermijden terwijl de server tijdsintensieve verzoeken verwerkt (bv. als gevolg van een WebDAV-verzoek met meerdere subverzoeken).

Goed om te weten: WebDAV (Web-based Distributed Authoring and Versioning) is ontwikkeld om documenten en bestanden binnen een netwerk op basis van HTTP te bewerken en te wijzigen.

2xx: Geslaagde operaties

Code

Bericht

HTTP-versie

Beschrijving

200

OK

1.0 / 1.1

Het verzoek was succesvol. Het resultaat wordt samen met het antwoord verzonden.

201

Aangemaakt

1.0 / 1.1

Een nieuwe bron is aangemaakt en inmiddels geladen. Een code 201 wordt typisch verzonden als antwoord van de server op een zogenaamd PUT-verzoek.

202

Geaccepteerd

1.0 / 1.1

Het clientverzoek werd aanvaard, maar zal pas later worden uitgevoerd.

203

Niet gezaghebbende informatie

1.0 / 1.1

De server neemt de rol aan van een zogenaamde “transformerende proxy”. Hij ontvangt een code 200 van de bron en levert vervolgens een gewijzigde versie van het antwoord (van de bron).

204

Geen inhoud

1.0 / 1.1

Het verzoek was succesvol, maar het antwoord bevat (bewust) geen gegevens. De oude inhoud moet nog steeds aan de clients worden getoond.

205

Inhoud opnieuw instellen

1.1.

Het verzoek was succesvol. De client moet het document opnieuw laden en de formuliergegevens opnieuw instellen.

206

Gedeeltelijke inhoud

1.1.

Als de client een zogenaamd “Range Header”-verzoek stuurt, antwoordt de server met code 206 en informeert over de overdracht van delen van de gevraagde bron. Een typisch voorbeeld hiervan zijn onderbroken en hervatte downloads.

207

Multi-status

2.0.

Het antwoord bevat een XML-document met meerdere statuscodes voor onafhankelijke operaties.

208

Reeds gemeld

1.1

De code 208 wordt gebruikt binnen een WebDAV-binding en geeft aan dat de leden van de binding eerder zijn opgesomd en daarom niet meer aanwezig zijn in dit antwoord.

226

IM gebruikt

De server heeft een GET-verzoek uitgevoerd. Het antwoord bevat het resultaat van een of meer manipulaties van deze instantie.

3xx: omleidingen

Code

Bericht

HTTP versie

Beschrijving

300

Meerdere keuzes

1.1

De gevraagde bron is beschikbaar in meerdere types. Het antwoord bevat een lijst van de mogelijke varianten.

301

Permanent verplaatst

1.0 / 1.1

Code 301 (Redirect) geeft aan dat de gevraagde bron in de toekomst beschikbaar zal zijn op het adres dat in het headerveld “Locatie” is opgegeven. Het oude adres is niet langer geldig.

302

Gevonden (tijdelijk verplaatst)

1.0 / 1.1

Volgens statuscode 302 is de bron tijdelijk beschikbaar op het in de header gespecificeerde adres. Het oude adres blijft echter geldig.

303

Zie Andere

1.1

Het antwoord van de server kan worden opgehaald onder een ander URI-adres met behulp van de GET-methode. Dit maakt een naadloze overgang naar een geselecteerde bron mogelijk na een POST-verzoek.

304

Niet gewijzigd

1.0 / 1.1

De statuscode 304 geeft aan dat de inhoud van de opgevraagde bron niet is gewijzigd sinds het laatste verzoek. Daarom bevat het antwoord geen gegevens.

305

Proxy gebruiken

1.1

De bron is alleen toegankelijk via de in de “Locatie”-header opgegeven proxy.

306

(ongebruikt)

1.1

De statuscode 306 is gereserveerd, maar wordt niet langer gebruikt. Hij werd oorspronkelijk gebruikt voor het antwoord “Switch Proxy”.

307

Tijdelijke omleiding

1.1

De gevraagde bron werd gevonden en is tijdelijk beschikbaar op het adres dat in het headerveld “Location” is opgegeven. Het oude adres blijft echter geldig. De browser moet dezelfde methode volgen als bij het oorspronkelijke verzoek.

308

Permanente omleiding

De gevraagde bron werd gevonden en is tijdelijk beschikbaar op het adres dat in het headerveld “Locatie” is opgegeven. Het oude adres is niet langer geldig. De volgende browseraanvragen moeten op dezelfde manier worden gedaan als het oorspronkelijke verzoek.

4xx: Klantfout

Code

Bericht

HTTP-versie

Beschrijving

400

Slechte aanvraag

1.0 / 1.1

Het verzoek was fout, daarom kan het niet worden verwerkt door de server.

401

Onbevoegd

1.0 / 1.1

Het verzoek kan niet worden verwerkt zonder de juiste autorisatie. De WWW_Authenticate response header legt uit hoe de authenticatie moet worden uitgevoerd.

402

Betaling vereist

1.1

Betaling vereist. De statuscode is gereserveerd voor toekomstig gebruik.

403

Verboden

1.0 / 1.1

HTTP-fout 403 geeft aan dat de toegang tot de inhoud permanent verboden is wegens gebrek aan autorisatie van de client. Het verzoek mag niet meer worden gedaan.

404

Niet gevonden

1.0 / 1.1

De server kon de gevraagde bron niet vinden. In de meeste gevallen wordt dit veroorzaakt door een zogenaamde “dode link”.

405

Methode niet toegestaan

1.1

Statuscode 405 betekent dat de verzoekmethode niet is toegestaan en alleen met andere methoden (bijvoorbeeld GET of POST) mag worden gedaan.

406

Niet toegestaan

1.1

Statuscode 406 geeft aan dat de gevraagde bron niet wordt geleverd in de door de client gevraagde vorm.

407

Proxy-authenticatie vereist

1.1

Vergelijkbaar met statuscode 401 vereist dit antwoord authenticatie. In dit geval moet de client zich echter identificeren bij een proxy, die het antwoordveld Proxy Authenticate moet bevatten.

408

Time-out verzoek

1.1

De client heeft de aanvraag niet binnen de door de server gespecificeerde tijd voltooid. HTTP-fout 408 komt bijvoorbeeld voor bij het uploaden van grote bestanden.

409

Conflict

1.1

Het verzoek is gedaan onder verkeerde aannames en kan niet worden verwerkt, anders zou er een conflict ontstaan bij de aanvragende bron. In het geval van een PUT-verzoek kan dit bijvoorbeeld het gevolg zijn van een wijziging die een derde in de tussentijd in de bron heeft aangebracht.

410

Verdwenen

1.1

De bron bestaat niet meer en is permanent verwijderd.

411

Lengte Vereist

1.1

Verwerking van het verzoek zonder “Content-Length” header wordt door de server afgewezen.

412

Preconditie mislukt

1.1

Aan een door de cliënt gespecificeerde voorwaarde kan niet worden voldaan.

413

Verzoek entiteit te groot

1.1

Het verzoek was te groot om door de server te worden verwerkt en wordt daarom afgewezen. Dit kan bijvoorbeeld worden veroorzaakt door een geüpload bestand.

414

URI te lang

1.1

De URL van het verzoek is te lang.

415

Niet ondersteund mediatype

1.1

Het gevraagde media- of MIME-type wordt niet ondersteund.

416

Aangevraagd bereik niet bevredigbaar

1.1

Het gevraagde subbereik van de bron bestaat niet of is ongeldig. Komt bijvoorbeeld voor bij gedeeltelijke downloads.

417

Verwachting mislukt

1.1

Wordt gebruikt in combinatie met een “Expect”-headerveld. Aan het door de client in het “Expect”-headerveld gevraagde gedrag van de server kan niet worden voldaan.

420

Beleid niet vervuld

1.1

Voorgesteld in W3C PEP (Working Draft 21 november 1997) om aan te geven dat aan een voorwaarde niet is voldaan.

421

Foutief verzoek

2.0

Het verzoek ging naar een server die niet in staat is een antwoord te sturen.

422

Onverwerkbare entiteit

1.1

Deze statuscode wordt gebruikt wanneer terugkeer van statuscode 415 noch 400 gerechtvaardigd zou zijn, maar verwerking van het verzoek wordt geweigerd (bijvoorbeeld vanwege semantische fouten).

423

Vergrendeld

1.1

De gevraagde bron is momenteel vergrendeld.

424

Afhankelijkheid mislukt

1.1

Het verzoek kon niet worden uitgevoerd omdat het een eerder verzoek nodig heeft om te slagen.

426

Upgrade vereist

1.1

De server staat erop dat de client de aanvraag herhaalt met een ander protocol. Een typisch geval is het overschakelen op HTTP met Transport Layer Security.

428

Voorwaarde Vereist

1.1

Aan de voor het verzoek vereiste randvoorwaarden is niet allemaal voldaan.

429

Te veel verzoeken

1.1

De cliënt heeft te veel verzoeken gedaan binnen een bepaalde periode.

431

Request Header Fields Too Large

1.1

De maximale lengte van een headerveld of de totale header is overschreden.

451

Niet beschikbaar om wettelijke redenen

1.1

De bron is niet beschikbaar om juridische redenen (bijvoorbeeld vanwege auteursrechten of censuur in bepaalde landen). De statuscode werd in 2015 geïntroduceerd en is genoemd naar de roman “Fahrenheit 451” van Ray Bradbury.

Goed om te weten: Met status 418 is er nog een code in de categorie client error. Binnen een niet geheel serieus protocol voor het zetten van koffie (Hyper Text Coffee Pot Control Protocol) geeft dit aan dat er per ongeluk een theepot is gebruikt in plaats van een koffiepot. De statuscode maakt echter geen deel uit van HTTP en is ook niet gedefinieerd in de SCR (“Status Code Registry”).

5xx: Serverfout

Code

Bericht

HTTP-versie

Beschrijving

500

Interne Serverfout

1.0 / 1.1

Statuscode 500 wordt weergegeven als het verzoek niet kan worden uitgevoerd wegens een interne (server)fout.

501

Niet geïmplementeerd

1.0 / 1.1

De server beschikt niet over de nodige functionaliteit om het verzoek te verwerken. De oorzaak is vaak een onbekende of niet-ondersteunde HTTP-methode.

502

Slechte gateway

1.0 / 1.1

HTTP-fout 502 betekent dat de server zijn functie als gateway of proxy niet kon vervullen omdat er verderop een fout is opgetreden.

503

Dienst niet beschikbaar

1.0 / 1.1

De dienst of server is momenteel niet beschikbaar. Dit is bijvoorbeeld het geval tijdens onderhoudswerkzaamheden of overbelasting, enz.

504

Time-out gateway

1.1

Het verzoek kan niet worden verwerkt door de proxy vanwege een time-out.

505

HTTP-versie niet ondersteund

1.1

De gevraagde HTTP-versie wordt niet ondersteund.

506

Variant onderhandelt ook

De inhoudsovereenkomst van het verzoek resulteert in een circulaire verwijzing.

507

Onvoldoende opslag

Het verzoek kon niet worden verwerkt omdat de momenteel beschikbare opslagruimte van de server onvoldoende is.

508

Lus gedetecteerd

De bewerking is niet uitgevoerd omdat de uitvoering in een oneindige lus zou zijn beland. De statuscode is gedefinieerd in de bindingsuitbreiding voor WebDAV (volgens RFC 5842), omdat bindingen cyclische paden naar WebDAV-bronnen kunnen creëren.

509

Bandbreedtelimiet overschreden

Het verzoek van de client is afgewezen omdat anders de beschikbare bandbreedte zou zijn overschreden. Deze statuscode is een onofficiële uitbreiding van sommige servers.

510

Niet uitgebreid

Het verzoek bevat niet alle informatie die de gevraagde serveruitbreiding verplicht verwacht (RFC 2774).

511

Netwerkverificatie vereist

De client moet zich eerst authenticeren voordat hij toegang krijgt tot het netwerk.

Opmerking: Sommige softwarefabrikanten gebruiken eigen HTTP-statuscodes, die genummerd zijn vanaf 9XX. Dit nummerbereik is echter een speciaal geval dat niet wordt genoemd in de RFC-documenten en valt dus ook buiten de standaard.

In de volgende video worden de belangrijkste HTTP-statuscodes nogmaals uitgelegd:

Gerelateerde berichten