HTTP
HTTP-statuscodes
Zoeken…
Invoering
In HTTP zijn statuscodes een machineleesbaar mechanisme dat het resultaat van een eerder uitgegeven verzoek aangeeft. Van RFC 7231, sec. 6 : "Het statuscode-element is een driecijferige gehele code die het resultaat geeft van de poging om het verzoek te begrijpen en te voldoen."
De formele grammatica staat codes toe om alles tussen 000
en 999
. Alleen het bereik van 100
tot 599
heeft echter een betekenis toegewezen.
Opmerkingen
HTTP / 1.1 definieert een aantal numerieke HTTP-statuscodes die verschijnen in de statusregel - de eerste regel van een HTTP-antwoord - om samen te vatten wat de client met het antwoord moet doen.
Het eerste cijfer van een statuscode definieert de klasse van de reactie:
-
1xx
informatief -
2xx
Client verzoek succesvol -
3xx
Verzoek omgeleid - verdere actie vereist, zoals een nieuw verzoek -
4xx
Client error - herhaal hetzelfde verzoek niet -
5xx
Serverfout - probeer het misschien opnieuw
In de praktijk is het niet altijd eenvoudig om de meest geschikte statuscode te kiezen.
500 Interne server fout
Een HTTP 500 Internal Server Error is een algemeen bericht, wat betekent dat de server iets onverwachts is tegengekomen. Toepassingen (of de overkoepelende webserver) moeten een 500 gebruiken wanneer er een fout is bij het verwerken van het verzoek - dat wil zeggen een uitzondering wordt gegenereerd of een voorwaarde van de bron voorkomt dat het proces wordt voltooid.
Voorbeeld statusregel:
HTTP/1.1 500 Internal Server Error
404 Niet Gevonden
HTTP 404 Not Found betekent dat de server het pad niet kon vinden met behulp van de URI die de client opvroeg.
HTTP/1.1 404 Not Found
Meestal werd het gevraagde bestand verwijderd, maar soms kan het een verkeerde documentconfiguratie of een gebrek aan machtigingen zijn (hoewel ontbrekende machtigingen vaker HTTP 403 verbieden activeert).
IIS van Microsoft schrijft bijvoorbeeld 404.0 (0 is de substatus) naar de logboekbestanden toen het gevraagde bestand werd verwijderd. Maar wanneer het inkomende verzoek wordt geblokkeerd door verzoekfilterregels, schrijft het 404.5-404.19 naar logbestanden volgens welke regel het verzoek blokkeert. Een meer gedetailleerde foutcode-referentie is te vinden op Microsoft Support .
Toegang tot beveiligde bestanden weigeren
Gebruik 403 verboden wanneer een client een resource heeft aangevraagd die vanwege bestaande toegangscontroles niet toegankelijk is. Als uw app bijvoorbeeld een /admin
route heeft die alleen toegankelijk moet zijn voor gebruikers met beheerdersrechten, kunt u 403 gebruiken wanneer een normale gebruiker de pagina opvraagt.
GET /admin HTTP/1.1
Host: example.com
HTTP/1.1 403 Forbidden
Succesvol verzoek
Stuur een HTTP-antwoord met statuscode 200
om een succesvol verzoek aan te geven. De HTTP-antwoordstatusregel is dan:
HTTP/1.1 200 OK
De statustekst OK
is alleen informatief. De responsinstantie (payload voor berichten) moet een weergave van de gevraagde bron bevatten. Als er geen weergave is 201 Er mag geen inhoud worden gebruikt.
Reageren op een voorwaardelijk verzoek voor in de cache opgeslagen inhoud
Verzend een 304 Niet-gewijzigde antwoordstatus van de server als antwoord op een clientverzoek met headers If-Modified-Since
en If-None-Match
, als de aanvraagresource niet is gewijzigd.
Als een clientverzoek voor een webpagina bijvoorbeeld de kop If-Modified-Since: Fri, 22 Jul 2016 14:34:40 GMT
en de pagina sindsdien niet is gewijzigd, reageer dan met de statusregel HTTP/1.1 304 Not Modified
Top 10 HTTP-statuscode
2xx succes
- 200 OK - Standaardantwoord voor succesvolle HTTP-aanvragen.
- 201 Gemaakt - Aan het verzoek is voldaan, waardoor een nieuwe bron is gemaakt.
- 204 Geen inhoud - De server heeft het verzoek verwerkt en retourneert geen inhoud.
3xx omleiding
- 304 Niet gewijzigd - Geeft aan dat de bron niet is gewijzigd sinds de versie die is opgegeven door de headers van het verzoek
If-Modified-Since
ofIf-None-Match
.
4xx clientfout
- 400 Ongeldig verzoek - De server kan het verzoek niet verwerken vanwege een kennelijke clientfout (bijv. Onjuiste aanvraagsyntaxis, te groot formaat, ongeldig verzoekbericht framing of misleidende verzoekroutering).
- 401 Niet geautoriseerd - vergelijkbaar met 403 verboden , maar specifiek voor gebruik wanneer authenticatie vereist is en is mislukt of nog niet is verstrekt. Het antwoord moet een
WWW-Authenticate
headerveld bevatten met een uitdaging die van toepassing is op de gevraagde resource. - 403 Verboden - Het verzoek was een geldig verzoek, maar de server weigert erop te reageren. De gebruiker is mogelijk aangemeld, maar heeft niet de benodigde machtigingen voor de bron.
- 404 niet gevonden - De gevraagde bron kan niet worden gevonden, maar is mogelijk in de toekomst beschikbaar. Latere verzoeken van de klant zijn toegestaan.
- 409 Conflict - geeft aan dat het verzoek niet kon worden verwerkt vanwege een conflict in het verzoek, zoals een bewerkingsconflict tussen meerdere gelijktijdige updates.
5xx serverfout
- 500 Interne serverfout - Een generiek foutbericht dat wordt gegeven wanneer een onverwachte situatie is opgetreden en geen specifiek bericht geschikt is.