Ce înseamnă aceste coduri de stare HTTP?

Ce înseamnă aceste coduri de stare HTTP?

Codurile de stare HTTP sunt o parte vitală a navigării pe web. Fiecare solicitare pe care o faceți, de fiecare dată când faceți clic pe un link sau introduceți o adresă URL, veți primi un răspuns. În spatele acestui răspuns este un cod numeric care rezumă rezultatul.





Ați auzit despre codul 404 și probabil că v-ați blestemat browserul de fiecare dată când acesta afișează unul. Dar HTTP este mai puternic decât v-ați putea da seama, iar codurile de stare gestionează multe scenarii diferite. Citiți mai departe pentru a afla mai multe despre aceste mici numere criptice.





Cum comunică clienții și serverele web

Navigarea pe web este posibilă prin comunicarea dintre clienți și servere. Când solicitați vizualizarea unei pagini, clientul (browser-ul) trimite o cerere către un server (site-ul web). Această solicitare este, sperăm, reușită, moment în care serverul trimite un răspuns pentru ca dvs. să îl citiți.





În răspunsul său, serverul web include mai mult decât conținutul. Pentru început, include o serie de anteturi, mici bucăți de metadate care se aplică răspunsului. De exemplu, Tipul de conținut antetul ar putea arăta astfel:

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

Aceasta înseamnă că răspunsul este HTML, spre deosebire de o imagine sau un fișier muzical.



Dar înainte de conținut, chiar înainte de anteturi, fiecare răspuns HTTP include o linie care arată cam așa:

HTTP/1.1 200 OK

În acest exemplu, alături de versiunea HTTP (1.1), un cod de stare citește 200 OK. Cu alte cuvinte, totul este bun, iată conținutul dvs. 200 este cel mai important bit. Sistemele pot testa împotriva acestuia pentru a determina exact ce s-a întâmplat. OK este un scurt indiciu frumos, care descrie starea oricărui om care îl urmărește.





Exemple de coduri de stare comune

Codurile de stare 404 și 200 sunt foarte frecvente, dar există mult mai multe posibilități.

  • 500 EROARE INTERNĂ A SERVER-ULUI) este o stare de eroare. Înseamnă că ceva a mers prost pe server și nu poate îndeplini cererea. Aceasta ar putea fi o eroare de programare sau o altă eroare de execuție.
  • 403 INTERZIS) înseamnă că serverul a înțeles cererea, dar refuză să o permită. Acest lucru se aplică adesea acțiunilor legate de utilizator în aplicații web mai complicate. De exemplu, încercarea de a edita o postare pe care o deține altcineva.
  • 401 (Neautorizat) este foarte asemănător cu 403. În acest caz, solicitarea inițială nu are permisiunea de a accesa resursa, deoarece nu a furnizat nicio acreditare de utilizator. Cu alte cuvinte, nu sunteți conectat.
  • 400 (CERERE RĂU) înseamnă că serverul nu a putut înțelege ce se solicită. Poate că lipsesc unele informații, cum ar fi un parametru URL. Poate că ceva a corupt solicitarea în tranzit.

Grupuri de coduri de stare HTTP

Toate codurile de stare pe care le-am văzut până acum sunt de trei cifre, toate între 200 și 500. Nu este o coincidență. Stările HTTP au toate trei cifre, cu prima cifră între una și cinci, inclusiv. Și valoarea primei cifre plasează codul în unul din cele cinci grupuri, fiecare cu un sens specific.





Primul grup, 1xx, este informativ. Toate aceste cazuri înseamnă că serverul a înțeles solicitarea, dar nu este pregătit să trimită un răspuns. Nu le veți vedea în acțiune prea mult, dar sunt acolo pentru sistemele care au nevoie de ele.

Grupul 2xx este acasă la răspunsul dorit de obicei: 200 (OK) . Acesta este cel mai frecvent caz de succes, dar există și alții.

The 204 (FĂRĂ CONȚINUT) codul este unul destul de ciudat. Un server îl poate returna ca urmare a unui PUT sau a unui POST sau a unui PATCH. Semnificația, în aceste cazuri, ar fi că serverul a făcut actualizarea, dar nu este nevoie să returneze nimic clientului.

Codurile din grupul 3xx demonstrează modul în care stările HTTP merg dincolo de simpla comunicare a succesului sau a eșecului. Codurile de stare care încep cu un 3 indică o redirecționare. Aceasta înseamnă că solicitarea inițială nu a fost rea, dar clientul ar trebui să folosească o altă adresă URL.

Acest lucru poate fi temporar, cum ar fi în cazul 302 (GĂSIT) , pe care un site ar putea să o folosească pentru a găzdui o adresă URL promoțională care redirecționează către o pagină finală a produsului. Un site ar putea folosi o redirecționare permanentă, prin intermediul 301 MUTAT PERMANENT) stare. Aceasta este o bună practică atunci când, de exemplu, un site a schimbat numele unei pagini.

ce înseamnă rng în jocuri

Stările de redirecționare sunt de obicei însoțite de un Locație antet. Aceasta îi spune clientului ce adresă URL să solicite în locul celei originale. Serverele vor răspunde adesea cu antete suplimentare. Acestea vor furniza informații mai utile decât codul de stare.

Statutele care încep cu un 4 sunt erori ale clientului. În esență, înseamnă că browserul (sau persoana care îl folosește) a făcut ceva greșit. Am discutat deja mai multe dintre acestea (400, 401, 403, 404) și acesta este cel mai mare grup de coduri de stare cu o sumă semnificativă. Alte exemple de erori ale clientului includ solicitarea unei adrese URL care exista, dar care nu mai există: 410 (GONE) . Există, de asemenea 429 (Prea multe cereri) , care acceptă limitarea ratei, astfel încât resursele să nu fie copleșite. Acest lucru este foarte frecvent utilizat de API-urile REST.

În cele din urmă, stările din intervalul 500-599 indică faptul că ceva nu a funcționat corect cu serverul în timp ce acesta a încercat să îndeplinească cererea.

Obținerea stării HTTP cu curl

Cel mai frecvent utilizat instrument de linie de comandă HTTP pentru toate scopurile este răsuci . Folosind curl, puteți trimite solicitări HTTP de mână, puteți vedea detaliile de răspuns subiacente și puteți examina codurile de stare.

Programul curl nu face incredibil de ușor să se afișeze doar un cod de stare, dar puteți face acest lucru folosind câteva opțiuni, și anume:

  • -sau îi spune lui curl să-și trimită ieșirea implicită într-un fișier. Îl puteți folosi pentru a elimina toate ieșirile normale.
  • -în afișează informații personalizate dintr-un set de variabile disponibile, dintre care una este http_code, adică codul de stare a răspunsului.

Puteți utiliza, de asemenea -s pentru a ascunde câteva detalii, curlul arată de obicei despre transfer, cum ar fi progresul în timp real. Iată cum să combinați aceste opțiuni:

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

Sau puteți utiliza opțiuni ușor diferite și o conductă pentru a manipula rezultatul:

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

Vizualizarea codurilor de stare într-un browser web

Dacă vreodată trebuie să verificați codurile de stare HTTP, browserul dvs. web vă poate ajuta. Majoritatea browserelor moderne au o consolă care poate afișa informații avansate. Folosind Chrome ca exemplu, iată cum puteți verifica codul de stare al unei adrese URL:

  1. Alege Vedere -> Dezvoltator -> Instrumente de dezvoltare din meniul principal. Aceasta comută o fereastră mică în partea de jos a browserului.
  2. Dacă nu te uiți deja la Reţea fila ferestrei Instrumente pentru dezvoltatori, modificați-o.
  3. Apasă pe Doc buton pentru a afișa numai solicitările de conținut al paginii.
  4. Reîmprospătați pagina pe care o priviți.

Observați că, alături de adresele URL solicitate, browserul afișează un stare coloană. Afișează exact ce cod de stare a trimis serverul înapoi.

Alte resurse

Există o mulțime de resurse bune care explică mai multe despre codurile de stare HTTP. Pagina Wikipedia intitulată Lista codurilor de stare HTTP și acest document oficial de standarde de urmărire a datelor sunt puncte de plecare bune.

Cea mai utilă referință ar putea fi httpstatuses.com . Acesta explică toate codurile de stare HTTP într-un format concis, ușor de înțeles. De asemenea, oferă detalii utile despre cod, care pot fi utile la programarea oricărei lucruri cu HTTP.

Formatul URL-urilor httpstatuses este deosebit de util. Pagina pentru codul de stare 403 este pur și simplu https://httpstatuses.com/403 . Puteți schimba cu ușurință adresa URL pentru a căuta orice cod de stare de care aveți nevoie.

Statutele HTTP fac web-ul să funcționeze

Codul de stare HTTP este un număr simplu din trei cifre, pe care majoritatea oamenilor îl experimentează sub forma 404. Dar este mult mai puternic decât atât, iar codurile de stare acceptă o gamă largă de comportament.

HTTP2 este următoarea versiune a HTTP, dar vestea bună este că codurile de stare rămân aceleași. Tot ceea ce ați învățat aici va fi în continuare relevant pentru viitorul previzibil.

Acțiune Acțiune Tweet E-mail Ce este HTTP / 2 și cum afectează viitorul internetului?

Internetul este setat să devină mai eficient datorită sosirii HTTP / 2. Dar ce este și cum se îmbunătățește pe HTTP?

Citiți în continuare
Subiecte asemănătoare
  • Programare
  • HTTPS
  • Securitatea browserului
Despre autor Bobby Jack(58 articole publicate)

Bobby este un pasionat de tehnologie care a lucrat ca dezvoltator de software timp de aproape două decenii. Este pasionat de jocuri, lucrează ca editor de recenzii la Switch Player Magazine și este cufundat în toate aspectele publicării online și dezvoltării web.

cum se resetează parola pe facebook
Mai multe de la Bobby Jack

Aboneaza-te la newsletter-ul nostru

Alăturați-vă newsletter-ului pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!

Faceți clic aici pentru a vă abona