HTTP
HTTP-svar
Sök…
parametrar
Statuskod | Anledning-fras - beskrivning |
---|---|
100 | Fortsätt - klienten ska skicka följande del av en flerdelsförfrågan. |
101 | Växla protokoll - servern ändrar version eller typ av protokoll som används i denna kommunikation. |
200 | OK - servern har tagit emot och slutfört klientens begäran. |
201 | Skapad - servern har accepterat begäran och skapade en ny resurs, som är tillgänglig under URI i Location huvudet. |
202 | Godkänt - servern har tagit emot och accepterat klientens begäran, men den har ännu inte startat eller slutfört behandlingen. |
203 | Icke-auktoritativ information - servern returnerar data som kan vara en under- eller superset av informationen som finns tillgänglig på den ursprungliga servern. Används främst av ombud. |
204 | Inget innehåll - används i stället för 200 (OK) när det inte finns någon instans för svaret. |
205 | Återställ innehåll - identiskt med 204 (Inget innehåll), men klienten bör ladda om den aktiva dokumentvyn. |
206 | Delvis innehåll - används i stället för 200 (OK) när klienten begärde en Range rubrik. |
300 | Flera val - den begärda resursen är tillgänglig på flera URI: er och klienten bör omdirigera begäran till en URI som anges i listan i meddelandekroppen. |
301 | Flyttad permanent - den begärda resursen är inte längre tillgänglig på denna URI, och kunden ska dirigera detta och alla framtida ansökningar till URI anges i Location huvudet. |
302 | Hittade - resursen är tillfälligt bosatt under en annan URI. Denna begäran ska omdirigeras på användarens bekräftelse till URI i Location huvudet, men framtida ansökningar bör inte ändras. |
303 | Se Annat - mycket lik 302 (hittades), men kräver inte användarinmatning för att omdirigera till den medföljande URI. Den angivna URI ska hämtas med en GET-begäran. |
304 | Not Modified - klienten skickade en If-Modified-Since eller liknande rubrik, och resursen har inte ändrats sedan den punkten; klienten ska visa en cache-kopia av resursen. |
305 | Använd proxy - den begärda resursen måste begäras igen genom ombud som anges i Location rubrikfältet. |
307 | Tillfällig omdirigering - identisk med 302 (hittades), men HTTP 1.0-klienter stöder inte 307 svar. |
400 | Dålig begäran - klienten skickade en felaktig begäran som innehåller syntaxfel och borde ändra begäran för att korrigera den innan han upprepar den. |
401 | Obehörig - den begärda resursen är inte tillgänglig utan verifiering. Klienten kan upprepa begäran med hjälp av en Authorization att tillhandahålla autentiseringsinformation. |
402 | Betalning krävs - reserverad, ospecificerad statuskod för användning av applikationer som kräver användarabonnemang för att se innehåll. |
403 | Förbjuden - servern förstår begäran, men vägrar att uppfylla den på grund av befintliga åtkomstkontroller. Begäran ska inte upprepas. |
404 | Not Found - det finns ingen resurs tillgänglig på den här servern som matchar den begärda URI. Kan användas i stället för 403 för att undvika att avslöja information om åtkomstkontroll. |
405 | Metod ej tillåten - resursen stöder inte begärningsmetoden (HTTP-verb); i Allow rubriken listas acceptabla förfrågningsmetoder. |
406 | Ej acceptabelt - resursen har egenskaper som bryter mot de accepterande rubriker som skickas i begäran. |
407 | Proxy-autentisering krävs - liknande 401 (otillåten), men indikerar att klienten först måste autentisera med mellanproxy. |
408 | Begär timeout - servern förväntade sig en ny begäran från klienten, men ingen tillhandahölls inom en acceptabel tidsram. |
409 | Konflikt - begäran kunde inte slutföras eftersom den strider mot resursens nuvarande tillstånd. |
410 | Borta - liknande 404 (Inte hittat), men indikerar ett permanent borttagning. Ingen vidarebefordringsadress är tillgänglig. |
411 | Längd krävs - klienten har inte angett en giltig Content-Length och måste göra det innan servern accepterar denna begäran. |
412 | Förutsättning misslyckades - resursen är inte tillgänglig med alla villkor som anges av de villkorade rubriker som skickas av klienten. |
413 | Begär entitet för stor - servern kan för närvarande inte behandla ett meddelandeorgan med den längd som klienten skickade. |
414 | Request-URI för länge - servern vägrar begäran eftersom Request-URI är längre än servern är villig att tolka. |
415 | Ostödd medietyp - servern stöder inte den MIME eller mediatyp som anges av klienten och kan inte betjäna denna begäran. |
416 | Begärt intervall är inte tillfredsställande - klienten begärde ett intervall av byte, men servern kan inte tillhandahålla innehåll till den specifikationen. |
417 | Förväntning misslyckades - klienten specificerade begränsningar i Expect huvudet som servern inte kan uppfylla. |
500 | Internt serverfel - servern mötte ett oväntat tillstånd eller ett fel som hindrar den från att slutföra denna begäran. |
501 | Ej implementerad - servern stöder inte funktionen som krävs för att slutföra begäran. Vanligtvis används för att ange en förfrågningsmetod som inte stöds på någon resurs. |
502 | Dålig gateway - servern är en proxy och fick ett ogiltigt svar från uppströmsservern vid bearbetning av denna begäran. |
503 | Tjänsten otillgänglig - servern är under hög belastning eller undergår underhåll och har för närvarande inte kapacitet att betjäna denna begäran. |
504 | Gateway Timeout - servern är en proxy och fick inte ett svar från uppströmsservern i tid. |
505 | HTTP-version stöds inte - servern stöder inte versionen av HTTP-protokollet som klienten begärde med. |
Grundläggande svarformat
När en HTTP-server tar emot en välformad HTTP-begäran måste den behandla informationen som begäran innehåller och returnera ett svar till klienten. Ett enkelt HTTP 1.1-svar kan se ut som något av följande, vanligtvis följt av ett antal rubrikfält, och eventuellt ett svarskropp:
HTTP/1.1 200 OK \r\n
HTTP/1.1 404 Not Found \r\n
HTTP/1.1 503 Service Unavailable \r\n
Ett enkelt HTTP 1.1-svar har detta format:
HTTP-Version Status-Code Reason-Phrase CRLF
Som i en begäran indikerar HTTP-Version
versionen av HTTP-protokollet som används; för HTTP 1.1 måste detta alltid vara strängen HTTP/1.1
.
Status-Code
är en tresiffrig kod som anger status för klientens begäran. Den första siffran i denna kod är statusklassen , som placerar statuskoden i en av fem svarskategorier [1] :
-
1xx
Informational - servern har fått begäran och behandlingen fortsätter -
2xx
Framgång - servern har accepterat och behandlat begäran -
3xx
omdirigering - ytterligare åtgärder krävs av klientens sida för att slutföra begäran -
4xx
Klient Fel - kunden skickat en begäran som missbildade eller inte kan uppfyllas -
5xx
Server Fel - begäran var giltigt, men servern inte kan uppfylla det för närvarande
Reason-Phrase
är en kort beskrivning av statuskoden. Till exempel har kod 200
en orsakssats för OK
; kod 404
har en fras av Not Found
. En fullständig lista över orsakssfraser finns i parametrar nedan eller i HTTP-specifikationen .
Linjen avslutas med ett vagnretur - radmatningspar, vanligtvis representerat av \r\n
.
Ytterligare rubriker
Liksom en HTTP-begäran kan ett HTTP-svar innehålla ytterligare rubriker för att ändra eller förstärka svaret som det ger.
En fullständig lista över tillgängliga rubriker definieras i §6.2 i specifikationen . De vanligaste rubrikerna är:
-
Server
, som fungerar som enUser-Agent
begäran header för servern; -
Location
, som används på status- och 201-svar på 201 och 3xx för att indikera en URI att omdirigera till; och -
ETag
, som är en unik identifierare för denna version av den returnerade resursen för att göra det möjligt för kunder att cache svaret.
Svarsrubriker kommer efter statusraden, och som på begäran formas rubriker som sådana:
Name: Value CRLF
Name
ger rubriknamnet, t.ex. ETag
eller Location
, och Value
ger det värde som servern ställer in för det huvudet. Linjen slutar med en CRLF.
Ett svar med rubriker kan se ut så här:
HTTP/1.1 201 Created \r\n
Server: WEBrick/1.3.1 \r\n
Location: http://example.com/files/129742 \r\n
Meddelandeorgan
Liksom med förfrågningsorgan kan HTTP-svar innehålla ett meddelandeorgan. Detta ger ytterligare data som klienten kommer att behandla. Särskilt bör 200 OK-svar på en välformerad GET-begäran alltid tillhandahålla ett meddelandeorgan som innehåller den begärda informationen. (Om det inte finns 204 är inget innehåll ett lämpligare svar).
Ett meddelandeorgan ingår efter alla rubriker och en dubbel CRLF. När det gäller förfrågningar, bör dess längd i byte anges med Content-Length
. Ett framgångsrikt svar på en GET-begäran kan därför se ut så här:
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.