Hva betyr disse HTTP -statuskodene?

Hva betyr disse HTTP -statuskodene?

HTTP -statuskoder er en viktig del av nettlesing. Hver forespørsel du sender, hver gang du klikker på en lenke eller skriver inn en URL, får du et svar. Bak det svaret er en numerisk kode som oppsummerer resultatet.





Du har hørt om 404 -koden, og sannsynligvis forbannet nettleseren din hver gang den viser en. Men HTTP er kraftigere enn du kanskje skjønner, og statuskoder håndterer mange forskjellige scenarier. Les videre for å finne ut mer om disse kryptiske små tallene.





Hvordan webklienter og servere kommuniserer

Nettlesing er mulig gjennom kommunikasjon mellom klienter og servere. Når du ber om å få se en side, sender klienten (nettleseren) en forespørsel til en server (nettsted). Denne forespørselen er forhåpentligvis vellykket, da sender serveren et svar for deg å lese.





I sitt svar inneholder webserveren mer enn bare innholdet. Til å begynne med inkluderer den en rekke overskrifter, små biter av metadata som gjelder for responsen. For eksempel Innholdstype header kan se slik ut:

Content-Type: text/html; charset=UTF-8

Dette betyr at svaret er HTML i motsetning til et bilde eller en musikkfil.



Men før innholdet, før til og med overskriftene, inneholder hvert HTTP -svar en linje som ser omtrent slik ut:

HTTP/1.1 200 OK

I dette eksemplet, ved siden av HTTP -versjonen (1.1), leser en statuskode 200 OK. Med andre ord, alt er bra, her er innholdet ditt. 200 er den viktigste biten. Systemer kan teste mot det for å finne ut nøyaktig hva som har skjedd. OK er et fint kort hint, som beskriver statusen for alle mennesker som ser på.





Eksempler på vanlige statuskoder

404 og 200 statuskoder er veldig vanlige, men det er mange flere muligheter.

  • 500 (INTERN SERVER FEIL) er en feilstatus. Det betyr at noe gikk galt på serveren, og det kan ikke oppfylle forespørselen. Dette kan være en programmeringsfeil eller en annen kjøretidsfeil.
  • 403 FORBUDT) betyr at serveren forsto forespørselen, men nekter å tillate den. Dette gjelder ofte brukerrelaterte handlinger i mer kompliserte webapper. For eksempel prøver å redigere et innlegg som noen andre eier.
  • 401 (UAUTORISERT) er veldig lik 403. I dette tilfellet har den opprinnelige forespørselen ikke tilgang til ressursen fordi den ikke ga noen brukerlegitimasjon. Med andre ord, du er ikke logget inn.
  • 400 UGYLDIG FORESPØRSEL) betyr at serveren ikke kunne forstå hva det ble bedt om. Kanskje mangler informasjon, for eksempel en URL -parameter. Kanskje noe ødela forespørselen under transport.

HTTP -statuskodegrupper

Alle statuskodene vi har sett så langt er tre sifre, alle mellom 200 og 500. Dette er ikke tilfeldig. HTTP -statuser er alle tre sifre lange, med det første sifferet mellom en og fem, inkludert. Og verdien av det første sifferet setter koden i en av fem grupper, hver med en bestemt betydning.





Den første gruppen, 1xx, er informativ. Disse sakene betyr alle at serveren forsto forespørselen, men ikke er klar til å sende et svar. Du vil ikke se disse i aksjon mye, men de er der for systemer som trenger dem.

2xx -gruppen er hjemmet til svaret du vanligvis ønsker: 200 (OK) . Det er det vanligste suksessfallet, men det er andre.

De 204 (INGEN INNHOLD) koden er ganske merkelig. En server kan returnere den som et resultat av en PUT eller en POST eller en PATCH. Betydningen, i disse tilfellene, ville være at serveren gjorde oppdateringen, men det er ikke nødvendig å returnere noe til klienten.

Koder i 3xx -gruppen demonstrerer hvordan HTTP -statuser går utover bare å kommunisere suksess eller fiasko. Statuskoder som begynner med en 3 indikerer en omdirigering. Dette betyr at den opprinnelige forespørselen ikke var dårlig, men klienten bør bruke en annen nettadresse i stedet.

Dette kan være midlertidig, for eksempel i tilfelle av 302 (FONDT) , som et nettsted kan bruke til å være vert for en salgsfremmende URL som omdirigerer til en endelig produktside. Et nettsted kan bruke en permanent omdirigering i stedet via 301 (FLYTTET PERMANENTLIG) status. Dette er god praksis når for eksempel et nettsted har endret navnet på en side.

hvor mye minne skal krom bruke

Omdirigeringsstatuser er vanligvis ledsaget av a plassering Overskrift. Dette forteller klienten hvilken URL han skal be om i stedet for den opprinnelige. Servere vil ofte svare med flere overskrifter. Disse vil gi mer nyttig informasjon enn statuskoden alene.

Statusser som begynner med en 4 er klientfeil. I hovedsak betyr de at nettleseren (eller personen som bruker den) gjorde noe galt. Vi har allerede diskutert flere av disse (400, 401, 403, 404), og dette er den største gruppen av statuskoder med et betydelig beløp. Andre eksempler på klientfeil inkluderer å be om en URL som tidligere eksisterte, men ikke lenger gjør: 410 (Borte) . Det er også 429 (FOR MANGE FORespørsler) , som støtter rentebegrensning slik at ressurser ikke blir overveldet. Dette brukes veldig ofte av REST APIer.

Til slutt indikerer statuser i 500-599-serien at noe gikk galt med serveren mens den prøvde å oppfylle forespørselen.

Få HTTP -status med curl

Det mest brukte, allsidige HTTP-kommandolinjeverktøyet er krøll . Ved å bruke curl kan du sende HTTP -forespørsler for hånd, se underliggende svardetaljer og undersøke statuskoder.

Krøllprogrammet gjør det ikke utrolig enkelt å vise bare en statuskode, men du kan gjøre det ved å bruke noen få alternativer, nemlig:

  • -eller forteller curl å sende standardutgangen til en fil. Du kan bruke den til å forkaste all normal utgang.
  • -i viser tilpasset informasjon fra et sett med tilgjengelige variabler, hvorav den ene er http_code, dvs. svarstatuskoden.

Du kan også bruke -s for å skjule noen detaljer viser curl vanligvis om overføringen, for eksempel fremgang i sanntid. Slik setter du sammen disse alternativene:

$ curl -sw '%{http_code}' -o /dev/null http://example.org
200
$ curl -sw '%{http_code}' -o /dev/null http://bbc.co.uk
301

Eller du kan bruke litt forskjellige alternativer og en rørledning for å manipulere resultatet:

$ curl -sI http://example.org/no | head -1 | cut -f2 -d' '
404

Vise statuskoder i en nettleser

Hvis du noen gang trenger å sjekke HTTP -statuskoder, kan nettleseren hjelpe deg. De fleste moderne nettlesere har en konsoll som kan vise avansert informasjon. Ved å bruke Chrome som et eksempel, kan du kontrollere statusen for en URL:

  1. Velge Utsikt -> Utvikler -> Utviklerverktøy fra hovedmenyen. Dette bytter et lite vindu nederst i nettleseren din.
  2. Hvis du ikke allerede ser på Nettverk kategorien i vinduet Utviklerverktøy, endre til den.
  3. Klikk på Dok -knappen for å vise bare forespørsler om sideinnhold.
  4. Oppdater siden du ser på.

Legg merke til at nettleseren, sammen med forespurte nettadresser, viser et Status kolonne. Den viser nøyaktig hvilken statuskode serveren sendte tilbake.

Andre ressurser

Det er mange gode ressurser som forklarer mer om HTTP -statuskoder. Wikipedia -siden med tittelen Liste over HTTP -statuskoder og dette offisielle datatracker -standarddokumentet er gode utgangspunkt.

Den mest nyttige referansen kan være httpstatuses.com . Den forklarer alle HTTP-statuskodene i et kortfattet, lettfattelig format. Det gir også nyttige kodeopplysninger som kan komme godt med når du programmerer noe som har med HTTP å gjøre.

Formatet på httpstatuses ’URLs er spesielt nyttig. Siden for 403 -statuskoden er ganske enkelt https://httpstatuses.com/403 . Du kan enkelt endre nettadressen for å slå opp hvilken som helst statuskode du trenger.

HTTP -statuser får nettet til å fungere

HTTP-statuskoden er et enkelt tresifret tall som de fleste opplever i form av 404. Men den er mye kraftigere enn det, og statuskoder støtter et bredt spekter av atferd.

HTTP2 er den neste versjonen av HTTP, men den gode nyheten er at statuskoder forblir de samme. Alt du har lært her vil fortsatt være relevant i overskuelig fremtid.

Dele Dele kvitring E -post Hva er HTTP/2 og hvordan påvirker det internettets fremtid?

Internett er satt til å bli mer effektivt takket være ankomsten av HTTP/2. Men hva er det og hvordan forbedres det på HTTP?

Les neste
Relaterte temaer
  • Programmering
  • HTTPS
  • Nettlesersikkerhet
Om forfatteren Bobby Jack(58 artikler publisert)

Bobby er en teknologientusiast som jobbet som programvareutvikler i de fleste to tiårene. Han brenner for spill, jobber som Reviews Editor i Switch Player Magazine, og er fordypet i alle aspekter av online publisering og webutvikling.

hvordan få netflix på switch
Mer fra Bobby Jack

Abonner på vårt nyhetsbrev

Bli med i vårt nyhetsbrev for tekniske tips, anmeldelser, gratis ebøker og eksklusive tilbud!

Klikk her for å abonnere