Sari la conținut
Internet și rețele

Codurile HTTP: ce înseamnă 200, 301, 404 și 500

Codurile HTTP: ce înseamnă 200, 301, 404 și 500

TL;DR

Un cod de stare HTTP este un număr de trei cifre pe care serverul îl trimite împreună cu răspunsul, ca să spună dacă cererea a reușit sau de ce a eșuat. Prima cifră indică familia: 2 înseamnă succes, 3 redirecționare, 4 problemă din partea cererii, 5 problemă la server. Cele mai întâlnite sunt 200, 301, 404 și 500.

Codul de stare HTTP este un număr din trei cifre pe care serverul îl adaugă la fiecare răspuns, pentru a spune ce s-a întâmplat cu cererea ta. De cele mai multe ori nu îl vezi, pentru că totul funcționează și pagina apare. Îl observi doar când ceva nu merge, iar cel mai cunoscut este 404, mesajul „pagina nu a fost găsită”.

Înțelegerea acestor coduri te ajută în două feluri: ca vizitator, știi dacă problema e la tine sau la site, iar ca proprietar de site, știi ce să repari. Ele sunt parte din dialogul dintre browser și serverul web.

Cele cinci familii de coduri

Prima cifră îți spune imediat despre ce fel de situație este vorba.

Familie Sens general Exemple
1xx Informații, cererea continuă 100 Continue
2xx Succes 200 OK, 204 Fără conținut
3xx Redirecționare 301, 302, 304
4xx Eroare din partea cererii 400, 401, 403, 404
5xx Eroare la server 500, 502, 503, 504

Codurile din familia 1xx apar rar și sunt folosite mai ales intern, între programe. Cele pe care le vei întâlni mai des sunt celelalte patru familii.

Codurile de succes: seria 200

200 OK înseamnă că totul a mers: serverul a găsit resursa și ți-a trimis-o. Este răspunsul obișnuit pentru o pagină care se încarcă normal. Mai există 201, care apare când o resursă a fost creată, de exemplu după trimiterea unui formular, și 204, care spune că cererea a reușit, dar nu există nimic de afișat.

Redirecționările: seria 300

Uneori o pagină și-a schimbat adresa. Serverul nu o abandonează, ci îți spune unde s-a mutat.

  • 301 înseamnă mutare permanentă. Browserul și motoarele de căutare rețin noua adresă.
  • 302 înseamnă mutare temporară. Adresa veche rămâne cea principală.
  • 304 înseamnă „nemodificat”: browserul are deja o copie bună și o poate folosi, ceea ce economisește timp și date. Principiul este cel din memoria cache.

Toate aceste răspunsuri circulă prin conexiunea securizată descrisă în articolul despre HTTPS. Un lanț prea lung de redirecționări încetinește pagina, așa că proprietarii de site-uri încearcă să-l păstreze scurt.

Erorile din partea cererii: seria 400

Aici problema este, în principiu, în ceea ce a cerut clientul.

400, 401 și 403

400 înseamnă cerere incorectă, pe care serverul nu a putut-o înțelege. 401 spune că trebuie să te autentifici, iar 403 că ești cunoscut, dar nu ai voie să vezi resursa. Diferența e subtilă: la 401 ți se cere identitatea, la 403 refuzul rămâne chiar dacă te-ai identificat.

404 și 410

404 înseamnă că serverul nu găsește nimic la adresa respectivă. Poate fi o greșeală de scriere, un link vechi sau o pagină ștearsă. Mai rar întâlnești 410, care spune explicit că resursa a fost eliminată definitiv. Pagina se cere prin adresa rezolvată de DNS, iar o greșeală în adresă duce des la 404. Un site bine făcut afișează la 404 o pagină prietenoasă, cu un link spre prima pagină sau spre căutare.

Codurile HTTP: ce înseamnă 200, 301, 404 și 500

Erorile de la server: seria 500

Aceste coduri spun că cererea a fost în regulă, dar serverul a avut o problemă.

  • 500 este eroarea generală: ceva a mers prost în aplicație.
  • 502 apare când un server intermediar a primit un răspuns invalid de la cel din spate.
  • 503 înseamnă că serviciul este indisponibil temporar, de pildă din cauza unei mentenanțe sau a supraîncărcării.
  • 504 apare când răspunsul a întârziat prea mult.

Ca vizitator nu poți repara o eroare 5xx. Poți încerca să reîncarci pagina după câteva minute. Uneori cauza este un trafic uriaș, ca într-un atac DDoS, dar de cele mai multe ori este o defecțiune obișnuită sau o actualizare nereușită.

Ce poți face ca vizitator

  1. La 404, verifică adresa: o literă greșită sau o cratimă lipsă sunt cauzele cele mai frecvente.
  2. La 403 sau 401, verifică dacă ești conectat la contul corect.
  3. La 5xx, așteaptă câteva minute și încearcă din nou.
  4. Dacă alte site-uri se deschid normal, dar unul singur dă eroare, problema este la acel site. Dacă niciunul nu merge, cauza poate fi conexiunea ta, aspect discutat la latență și lățime de bandă.

Ce poți face ca proprietar de site

Urmărește jurnalele serverului sau rapoartele din instrumentele de administrare, ca să afli care pagini dau 404 și de unde vin vizitatorii către ele. Pentru paginile mutate folosește redirecționări 301 către pagina cea mai apropiată ca sens. Pentru erori 5xx repetate, cere ajutorul furnizorului de hosting sau al unui programator. Nu lăsa multe pagini care răspund „200” deși sunt goale, pentru că aceasta încurcă și vizitatorii, și motoarele de căutare.

Ce merită reținut despre codurile HTTP

  • Codul de stare spune dacă o cerere a reușit și, dacă nu, de ce.
  • Prima cifră indică familia: succes, redirecționare, eroare de cerere sau eroare de server.
  • 301 este mutare permanentă, 404 înseamnă pagină negăsită, 500 înseamnă problemă la server.
  • La erorile 5xx vizitatorul poate doar să aștepte și să reîncerce.
  • Proprietarii de site-uri ar trebui să redirecționeze paginile mutate și să urmărească erorile.

Întrebări frecvente

De ce văd 404 deși pagina exista?

Probabil a fost ștearsă, mutată sau adresa a fost scrisă diferit. Încearcă să cauți pagina din prima pagină a site-ului sau cu un motor de căutare.

Eroarea 500 este vina mea?

De regulă nu. Este o problemă din partea serverului sau a aplicației. Poți reîncărca pagina, dar rezolvarea ține de proprietarul site-ului.

Care este diferența dintre 301 și 302?

301 anunță o mutare definitivă, iar 302 una temporară. Alegerea contează pentru modul în care browserele și motoarele de căutare rețin adresa.

De ce primesc 403 pe o pagină publică?

Se poate să fie blocată după țară, după adresa IP sau după regulile de securitate ale site-ului. Dacă folosești o rețea partajată sau un serviciu care schimbă adresa, încearcă fără ele.

Cum aflu codul unei pagini?

Browserele au instrumente pentru dezvoltatori, în fila de rețea, care arată codul fiecărei cereri. Există și servicii online care verifică acest lucru pentru o adresă dată.