I en värld av webbutveckling spelar HTTP-felkoder en avgörande roll för att påverka användarupplevelsen och ryktet för en webbplats. I den här artikeln kommer vi att överväga en komplett lista över serverfelkoder, analysera deras betydelser och lära oss hur man effektivt tolkar serversvarskoder för att lösa problem och optimera webbapparnas prestanda.
Vad är en HTTP-svarskod
HTTP-svarskod är språket på webbservrar som översätter webbläsarförfrågningar till förståeliga instruktioner. Det är som en poet som svarar på virtuella frågor och ger dem mening och riktning. Svarskoder är inte alltid HTTP-felkoder. Till exempel betyder "200 OK" att allt är OK, men HTTP-felet "404 Not Found" betyder när sidan går förlorad i det virtuella utrymmet. Varje kod är ett unikt uttryck för serverns tillstånd, vars avkodning gör att vi kan förstå vad som händer på andra sidan av den virtuella världen.
1xx-koder (information)
1xx-statuskoder i HTTP-protokollet är en slags första länk i dialogen mellan servern och klienten. Istället för att ge ett fullständigt svar på en förfrågan ger de information om den aktuella statusen, vilket gör datautbytet mer effektivt. Låt oss ta en närmare titt på dem:
100 Fortsätt. HTTP-svarskod där servern ger grönt ljus till användaren, vilket gör att han kan fortsätta skicka en stor förfrågan på ett säkert sätt.
101 Växlingsprotokoll. Servern talar om för klienten att den ändrar spelets regler, till exempel att flytta från HTTP till det säkrare HTTPS. I det här fallet används rubriken "Uppgradera" för protokolländringen.
102 Bearbetning. Den här koden är som ett meddelande om att servern har accepterat begäran, men fortfarande är upptagen med en komplex operation.
103 Tidiga tips. Här skickar servern flera indikativa rubriker till klienten före huvudsvaret, varnar för något som kan bli aktuellt inom en snar framtid.
2xx-kod (Lyckad)
HTTP-felkoder i gruppen 2xx indikerar en lyckad begäran från servern. De fungerar i huvudsak som ett "grönt ljus" i omfattningen av webbkommunikation, vilket bekräftar att allt går enligt plan och har slutförts framgångsrikt.
200 OK. Denna status används när servern bearbetar en begäran med GET-metoden utan problem och returnerar den begärda informationen som svar. Rubriken "Content-Type" rapporterar innehållstypen i svaret. Det informerar bara kunden om att begäran lyckades.
201 Skapad. Här meddelar servern skapandet av en ny resurs.
202 acceptera. Servern låter användaren veta att begäran har accepterats, men det kommer att ta tid att svara.
203 Icke-auktoritativ information. Denna kod ger klienten data som kanske inte är officiell, men som kan användas för jämförelse.
204 Inget innehåll. Servern har behandlat begäran men returnerar inget ytterligare innehåll.
205 Återställ innehåll. Här instrueras klienten att återställa den aktuella vyn eller data efter sändning.
206 Delvis innehåll. Detta fall indikerar att svaret bara innehåller en del av det begärda innehållet. Rubriken "Content-Range" anger det partiella innehållsintervallet.
207 Multi-Status. Servern har framgångsrikt slutfört en begäran om flera operationer från klienten, och svaret innehåller information om status för var och en av operationerna.
226 IM Används. Den här koden indikerar att servern använde metoden Incremental Metadata (IM) och svarade genom att bara skicka de modifierade resursdelarna till klienten.
3xx-koder (omdirigeringar)
3xx-koder i HTTP-protokollet är som pekare som guidar användaren till en ny resursplats. De informerar kunden om att uppföljningsåtgärder måste vidtas för att få det begärda innehållet eller för att omdirigeras till en annan resurs. Låt oss fördjupa oss i detaljerna för var och en av dem:
300 flerval. Klienten får en signal om att det finns flera möjliga platser för resursen och ges ett val som svar. Under nuvarande omständigheter kan rubriken "Plats" indikera alternativa alternativ för resursen.
301 flyttade permanent. Servern rapporterar tillbaka till användaren att resursen har flyttats permanent till en annan plats.
302 Funnet. Denna HTTP-kod liknar en tillfällig omdirigering. Servern informerar konsumenten om att resursen är tillfälligt tillgänglig på en annan URL. Rubriken "Plats" pekar på den nya webbadressen för den tillfälliga omdirigeringen.
303 Se Övrigt. Klienten får veta att resursen är tillgänglig på en annan URL och måste göra en GET-förfrågan till denna nya adress.
304 Ej Modifierad. Denna status talar om för klienten att resursen har förblivit oförändrad sedan den senaste begäran och inte behöver laddas ner igen. När du gör en begäran används rubriken "If-Modified-Since" för att kontrollera om resursen har ändrats.
305 Använd proxy. Som ett svar rapporterar servern att den ska använda den angivna proxyn för att komma åt den begärda resursen.
306 (reserverad) — Koden är reserverad, men den används faktiskt inte.
307 Tillfällig omdirigering. Den här koden liknar 302 Found, men kräver att klienten förblir i den förfrågningsmetod som användes i den ursprungliga begäran.
308 Permanent omdirigering. Indikerar att resursen har gjort en permanent flytt till en ny URI och att klienten ska använda den nya URIn för alla framtida förfrågningar.
4xx HTTP-fel (klientfel)
HTTP 4xx-felkoder indikerar klientfel. Det betyder att problemet ligger på användarsidan, till exempel webbläsaren eller appen.
400 dålig förfrågan. Servern kan inte behandla begäran på grund av syntaxfel, ogiltiga data eller andra fel på klientsidan.
401 Obehörig. Servern kan inte behandla begäran på grund av syntaxfel, ogiltiga data eller andra fel på klientsidan.
402 Betalning krävs. Koden är inte aktiv för tillfället och är reserverad för framtida bruk. Det kan indikera behovet av att betala innan du kommer åt resursen i framtiden.
HTTP-fel 403 förbjudet. Klienten har inte tillräckliga rättigheter att få åtkomst till den begärda resursen.
404 Ej Hittad. Den begärda resursen finns inte på servern. Detta är ett av de vanligaste användarfelen.
405 Metod Ej Tillåtet. Servern stöder inte den angivna begärandemetoden under denna resurs. Rubriken "Tillåt" anger de tillåtna metoderna för resursen. Med denna kod,
406 Ej acceptabelt. Servern kan inte tillhandahålla data i ett format som kan accepteras av klienten.
407 Proxy-verifiering krävs. Autentisering på proxyserver krävs för åtkomst till den begärda resursen.
408 Begär timeout. Servern väntade på att ta emot en förfrågan från klienten, men timeout gick ut. "Retry-After"-huvudet kan indikera den tid efter vilken begäran kan göras om.
409 Konflikt. Begäran kan inte slutföras på grund av en konflikt med den aktuella resursstatusen.
410 Gone. Den begärda resursen fanns tidigare men har nu tagits bort och återställningen förväntas inte.
411 Längd krävs. Servern kräver att ange innehållslängden i begäran; frånvaron av denna information anses vara ett fel.
412 Förutsättning misslyckades. En förutsättning i begäran är inte uppfylld som hindrar den från att verkställas.
413 Nyttolast för stor. Storleken på förfrågningsdata överskrider servergränserna.
414 URI för lång. URI-längden i begäran överskrider acceptabla gränser.
415 Medietyp som inte stöds. Servern kan inte behandla datatypen som anges i begäran.
416 Räckvidd inte tillfredsställande. HTTP-fel där det begärda intervallet inte matchar aktuell serverdata.
417 Förväntningen misslyckades. Det förväntade villkoret i rubriken "Förvänta" uppfylldes inte.
418 Jag är en tekanna. Den här koden är inkluderad som ett skämt och innebär ingen verklig handling för användaren eller servern, och är inte ett fullvärdigt fel. Det indikerar att servern är en tekanna och inte kan göra kaffe.
421 Felriktad begäran. Servern behandlar inte begäran på grund av ett fel i begäran eller serverkonfigurationen.
422 Obearbetbar enhet. Servern förstår begäran, men bearbetar den inte på grund av datafel.
423 Låst. Resursen är blockerad och kan inte bearbetas.
424 Misslyckat beroende. Begäran beror på en annan ej genomförd begäran.
425 för tidigt. Servern är inte redo att behandla begäran på grund av att den kommer tidigt.
426 Uppgradering krävs. Servern kräver användning av ett mer avancerat protokoll för att bearbeta begäran.
428 Förutsättning krävs. Servern kräver att vissa förutsättningar anges i begäran.
429 För många förfrågningar. Klienten skickade för många förfrågningar på kort tid, vilket överskred serverns gränser.
431 Begäran rubrikfält är för stora. Begärans rubriker överskrider den högsta tillåtna storleken.
449 Försök igen med. Indikerar att begäran inte kan köras av den aktuella servern, men kan bearbetas framgångsrikt av en annan server, och klienten bör försöka igen med en ny URI.
451 Ej tillgänglig av juridiska skäl. Resursen är inte tillgänglig av juridiska skäl.
499 Klient stängd begäran. Servern tog emot begäran, men anslutningen stängdes av klienten innan bearbetningen slutfördes.
HTTP 5xx-fel (serverfel)
HTTP 5xx-felkoder indikerar serverproblemen. Dessa koder indikerar problem som har uppstått på serversidan, vilket gör att servern inte kan behandla användarens begäran på ett korrekt sätt. Låt oss ta en närmare titt på dem:
HTTP-fel 500 Internt serverfel. Servern stöter på oväntade omständigheter som hindrar den från att slutföra begäran. "Server"-huvudet kan indikera den server på vilken felet inträffade.
501 Ej genomförd. Servern stöder inte den funktionalitet som krävs för att behandla klientens begäran. "Via"-huvudet kan indikera proxyservern genom vilken felet uppstod.
502 Bad Gateway. Denna kod betyder att servern som fungerar som proxy fick ett felaktigt svar från en annan server.
HTTP Fel 503 Tjänst Ej. Servern kan tillfälligt inte behandla förfrågningar.
504 Gateway Time-out. Servern, som fungerar som proxy, fick inte ett snabbt svar från en annan server.
505 HTTP-version stöds inte. Servern stöder inte HTTP-protokollversionen som anges i begäran. Som ett backupalternativ kan rubriken "Uppgradera" indikera protokoll som stöds.
506 Variant förhandlar också. Denna status används inte i HTTP/1.1; Men om servern upptäcker en intern konfiguration som resulterar i innehållsförhandling kan den använda det här svaret.
507 Otillräcklig lagring. Servern kan inte uppfylla begäran på grund av otillräckligt lagringsutrymme på servern.
508 loop upptäckt. Servern har upptäckt en loop under bearbetning av begäran och vägrar att slutföra begäran för att undvika en oändlig loop.
509 Bandbreddsgränsen har överskridits. Felet uppstår när serverns bandbredd överskrids på grund av höga förfrågningar eller trafik.
510 Ej förlängd. Klienten måste överföra ytterligare tillägg för att fortsätta begäran.
511 Nätverksautentisering krävs. Klienten måste autentisera sig för att få tillgång till nätverket.
Så här kontrollerar du sidans statuskod
I det här avsnittet kommer vi att överväga tre huvudsakliga sätt att kontrollera sidans statuskod: via kommandoraden, med hjälp av en webbläsare och genom att använda oberoende onlinetjänster. Var och en av dessa metoder har sina egna fördelar och kan vara användbara i olika situationer.
Kontrollerar serverns svar via kommandoraden
Kommandoraden ger ett bekvämt sätt att kontrollera sidans statuskod utan att behöva använda en webbläsare. För den här metoden måste du öppna kommandoraden och använda kommandot:
curl -I http://page-address
Detta kommando skickar en HEAD-begäran (endast rubrikbegäran) till den angivna URL:en och visar information inklusive HTTP-statuskoden:

Exemplet ovan visar en lyckad svarskod. I fallet med ett svar som innehåller en felkod, till exempel 404 Not Found HTTP-fel, kommer resultatet att se liknande ut:

Kontrollerar serverns svar via webbläsarkonsolen
Webbläsarens utvecklarkonsol tillhandahåller verktyg för att utföra olika operationer, inklusive att kontrollera sidans statuskod. För att se HTTP-koden i serversvaret måste du öppna utvecklarkonsolen (Ctrl+Skift+K) eller (Ctrl+Skift+J) beroende på vilken webbläsare som används. Välj sedan avsnittet "nätverk" och ladda önskad sida:

Kontrollera serverns svar med hjälp av oberoende verktyg
Det finns ett stort antal oberoende onlinetjänster som tillhandahåller verktyg för att kontrollera webbplatsens statuskod. Dessa tjänster låter dig vanligtvis snabbt få en överblick över din resurs tillgänglighet och prestanda. De arbetar alla enligt samma princip. Som ett exempel kommer vi att överväga den mest populära resursen - httpstatus.io
Först och främst måste du öppna själva tjänsten, ange sedan adressen till sidan som du behöver för att ta reda på och begära verifiering:

Resultatet kommer att visas längst ner på sidan:

Slutsats
Avslutningsvis bör det betonas att förståelse och förmåga att läsa HTTP-felkoder är en nyckelfärdighet för alla som är involverade i webbutveckling och serverunderhåll. När vi tar reda på varje fel och utforskar verktygen för att upptäcka dem, ser vi anledningar till varför det är så viktigt att effektivt hantera dessa webbtjänstaspekter.