Zoeken…


parameters

Status code Reden-zin - beschrijving
100 Doorgaan - de client moet het volgende deel van een meerdelig verzoek verzenden.
101 Schakelen tussen protocollen - de server verandert de versie of het type protocol dat in deze communicatie wordt gebruikt.
200 OK - de server heeft het verzoek van de client ontvangen en voltooid.
201 Gemaakt - de server heeft het verzoek geaccepteerd en een nieuwe bron gemaakt, die beschikbaar is onder de URI in de koptekst Location .
202 Geaccepteerd - de server heeft het verzoek van de client ontvangen en geaccepteerd, maar de verwerking is nog niet gestart of voltooid.
203 Niet-gezaghebbende informatie - de server retourneert gegevens die een sub- of superset kunnen zijn van de informatie die beschikbaar is op de oorspronkelijke server. Hoofdzakelijk gebruikt door proxy's.
204 Geen inhoud - gebruikt in plaats van 200 (OK) wanneer er geen hoofdgedeelte is van de reactie.
205 Reset inhoud - identiek aan 204 (geen inhoud), maar de client moet de actieve documentweergave opnieuw laden.
206 Gedeeltelijke inhoud - wordt gebruikt in plaats van 200 (OK) wanneer de client om een Range vroeg.
300 Meerdere keuzes - de gevraagde bron is beschikbaar op meerdere URI's en de client moet het verzoek omleiden naar een URI die is opgegeven in de lijst in de berichttekst.
301 Permanent verplaatst - de gevraagde bron is niet langer beschikbaar op deze URI, en de client moet deze en alle toekomstige verzoeken omleiden naar de URI die is opgegeven in de koptekst Location .
302 Gevonden - de bron bevindt zich tijdelijk onder een andere URI. Dit verzoek moet worden doorgestuurd op bevestiging van de gebruiker om de URI in de Location header, maar toekomstige verzoeken mag niet worden veranderd.
303 Zie Overige - zeer vergelijkbaar met 302 (gevonden), maar vereist geen gebruikersinvoer om door te verwijzen naar de opgegeven URI. De verstrekte URI moet worden opgehaald met een GET-verzoek.
304 Niet gewijzigd - de client heeft een If-Modified-Since of vergelijkbare header verzonden en de bron is sindsdien niet meer gewijzigd; de client moet een kopie in de cache van de bron weergeven.
305 Gebruik proxy - de aangevraagde bron moet opnieuw worden aangevraagd via de proxy die is opgegeven in het veld Location header.
307 Tijdelijke omleiding - identiek aan 302 (gevonden), maar HTTP 1.0-clients ondersteunen geen 307 antwoorden.
400 Onjuist verzoek - de client heeft een onjuist verzoek met syntaxisfouten verzonden en moet het verzoek wijzigen om dit te corrigeren voordat het wordt herhaald.
401 Niet geautoriseerd - de gevraagde bron is niet beschikbaar zonder authenticatie. De client kan het verzoek herhalen met behulp van een Authorization om verificatiegegevens te verstrekken.
402 Betaling vereist - gereserveerde, niet-gespecificeerde statuscode voor gebruik door applicaties die gebruikersabonnementen vereisen om inhoud te bekijken.
403 Verboden - de server begrijpt het verzoek, maar weigert het te vervullen vanwege bestaande toegangscontroles. Het verzoek mag niet worden herhaald.
404 Niet gevonden - er is geen bron beschikbaar op deze server die overeenkomt met de gevraagde URI. Kan worden gebruikt in plaats van 403 om te voorkomen dat details van toegangscontrole worden blootgesteld.
405 Methode niet toegestaan - de bron ondersteunt de aanvraagmethode (HTTP-werkwoord) niet; de kop Allow lijst met acceptabele verzoekmethoden.
406 Niet acceptabel - de resource heeft kenmerken die in strijd zijn met de accept-headers die in het verzoek zijn verzonden.
407 Proxy-authenticatie vereist - vergelijkbaar met 401 (ongeautoriseerd), maar geeft aan dat de client zich eerst moet verifiëren met de tussenliggende proxy.
408 Verzoek time-out - de server verwachtte een ander verzoek van de client, maar deze werd niet binnen een aanvaardbare termijn verstrekt.
409 Conflict - het verzoek kon niet worden voltooid omdat het conflicteerde met de huidige status van de bron.
410 Weg - vergelijkbaar met 404 (niet gevonden), maar geeft een permanente verwijdering aan. Er is geen doorstuuradres beschikbaar.
411 Vereiste lengte - de client heeft geen geldige header voor Content-Length opgegeven en moet dit doen voordat de server dit verzoek accepteert.
412 Voorwaarde mislukt - de resource is niet beschikbaar met alle voorwaarden die zijn opgegeven door de voorwaardelijke headers die door de client zijn verzonden.
413 Verzoekentiteit te groot - de server kan momenteel geen berichten met de lengte van de client verwerken.
414 Verzoek-URI te lang - de server weigert het verzoek omdat de verzoek-URI langer is dan de server bereid is te interpreteren.
415 Niet-ondersteund mediatype - de server ondersteunt het MIME- of mediatype dat door de client is opgegeven niet en kan deze aanvraag niet verwerken.
416 Gevraagd bereik niet bevredigend - de client heeft om een bereik van bytes gevraagd, maar de server kan geen inhoud aan die specificatie leveren.
417 Verwachting mislukt - de client heeft in de header Expect opgegeven beperkingen waaraan de server niet kan voldoen.
500 Interne serverfout - de server heeft een onverwachte voorwaarde of fout ondervonden waardoor deze aanvraag niet kon worden voltooid.
501 Niet geïmplementeerd - de server ondersteunt niet de functionaliteit die nodig is om het verzoek te voltooien. Meestal gebruikt om een aanvraagmethode aan te geven die door geen enkele bron wordt ondersteund.
502 Slechte gateway - de server is een proxy en ontving een ongeldige reactie van de upstream-server tijdens het verwerken van dit verzoek.
503 Service niet beschikbaar - de server wordt zwaar belast of onderhoudt momenteel niet de capaciteit om aan dit verzoek te voldoen.
504 Gateway Timeout - de server is een proxy en heeft niet tijdig een reactie van de upstream-server ontvangen.
505 HTTP-versie niet ondersteund - de server ondersteunt de versie van het HTTP-protocol niet waarmee de client zijn verzoek heeft ingediend.

Standaard antwoordformaat

Wanneer een HTTP-server een goed gevormd HTTP-verzoek ontvangt, moet deze de informatie in dat verzoek verwerken en een reactie terugsturen naar de client. Een eenvoudige HTTP 1.1-reactie kan er als volgt uitzien, meestal gevolgd door een aantal koptekstvelden en mogelijk een antwoordtekst:

HTTP/1.1 200 OK \r\n
HTTP/1.1 404 Not Found \r\n
HTTP/1.1 503 Service Unavailable \r\n

Een eenvoudige HTTP 1.1-reactie heeft dit formaat:

HTTP-Version Status-Code Reason-Phrase CRLF

Net als bij een aanvraag geeft HTTP-Version de gebruikte versie van het HTTP-protocol aan; voor HTTP 1.1 moet dit altijd de string HTTP/1.1 .

Status-Code is een driecijferige code die de status van het verzoek van de klant aangeeft. Het eerste cijfer van deze code is de statusklasse , waarmee de statuscode in een van de 5 antwoordcategorieën wordt geplaatst [1] :

  • 1xx Informatief - de server heeft het verzoek ontvangen en de verwerking gaat door
  • 2xx Succes - de server heeft aanvaard en verwerkt het verzoek
  • 3xx omleiding - verdere actie van de klant is nodig om het verzoek te voltooien
  • 4xx clientfouten - de client heeft een verzoek verzonden dat onjuist was of waaraan niet kan worden voldaan
  • 5xx Server Fouten - het verzoek geldig was, maar de server kan niet voldoen aan het op dit moment

Reason-Phrase is een korte beschrijving van de statuscode. Code 200 heeft bijvoorbeeld een redenzin van OK ; code 404 heeft een zin Not Found . Een volledige lijst met redenzinnen is beschikbaar in Parameters, hieronder of in de HTTP-specificatie .

De regel eindigt met een regelterugloop - regelinvoerpaar, meestal voorgesteld door \r\n .

Aanvullende kopteksten

Net als een HTTP-verzoek, kan een HTTP-antwoord extra headers bevatten om het antwoord te wijzigen of aan te vullen.

Een volledige lijst met beschikbare headers is gedefinieerd in §6.2 van de specificatie . De meest gebruikte headers zijn:

  • Server , die functioneert als een User-Agent aanvraagheader voor de server;
  • Location , die wordt gebruikt bij 201 en 3xx statusreacties om een URI aan te geven waarnaar moet worden omgeleid; en
  • ETag , een unieke identificatie voor deze versie van de geretourneerde bron om clients in staat te stellen het antwoord te cachen.

Reactiekopteksten komen na de statusregel en worden net als bij verzoekkopteksten als volgt gevormd:

Name: Value CRLF

Name geeft de kopnaam, zoals ETag of Location , en Value geeft de waarde die de server voor die koptekst instelt. De regel eindigt met een CRLF.

Een reactie met headers kan er zo uitzien:

HTTP/1.1 201 Created \r\n
Server: WEBrick/1.3.1 \r\n
Location: http://example.com/files/129742 \r\n

Message Bodies

Net als bij aanvraaglichamen kunnen HTTP-antwoorden een berichtlichaam bevatten. Dit levert extra gegevens op die de client zal verwerken. Met name moeten 200 OK-antwoorden op een goed gevormd GET-verzoek altijd een berichttekst bevatten met de gevraagde gegevens. (Als er geen is, is 204 Geen inhoud een geschikter antwoord).

Een berichttekst is opgenomen na alle headers en een dubbele CRLF. Wat aanvragen betreft, moet de lengte in bytes worden opgegeven met de kop Content-Length . Een succesvol antwoord op een GET-verzoek kan er daarom als volgt uitzien:

HTTP/1.1 200 OK\r\n
Server: WEBrick/1.3.1\r\n
Content-Length: 39\r\n
ETag: 4f7e2ed02b836f60716a7a3227e2b5bda7ee12c53be282a5459d7851c2b4fdfd\r\n
\r\n
Nobody expects the Spanish Inquisition.


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