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:

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 of If-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.


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow