Skip to content

Coduri de stare HTTP explicate

Toate codurile de stare comune ale răspunsurilor HTTP, grupate pe clase: ce înseamnă și când le vezi. Referința rapidă însoțitoare a instrumentului Coduri de stare HTTP.

Codurile de stare HTTP urmează un singur tipar: prima cifră numește clasa, iar restul este detaliu. 1xx înseamnă informațional, 2xx înseamnă succes, 3xx înseamnă redirecționare, 4xx înseamnă că clientul a făcut o eroare, iar 5xx înseamnă că serverul a eșuat. Citește mai întâi prima cifră. Instrumentul însoțitor îți permite să analizezi în profunzime un singur cod.

Tabel de referință · 55 intrăriDeschide instrumentul http-status-codes →
55 of 55 rows
1xx Informaționale
ContinueServerul a primit antetele cererii, iar clientul poate trimite corpul.După o verificare preliminară înainte de încărcarea unui corp mare.
Switching ProtocolsServerul acceptă trecerea la protocolul cerut de client.Upgrade al unei conexiuni HTTP la WebSocket.
ProcessingServerul a primit cererea și lucrează în continuare la ea.Un server WebDAV confirmă o cerere lungă, ca clientul să nu primească timeout.
Early HintsServerul trimite antete preliminare înainte ca răspunsul final să fie gata.Permite unui browser să preîncarce resurse în timp ce pagina este încă randată.
2xx Succes
OKCererea a reușit, iar corpul răspunsului conține rezultatul.Succes standard pentru un GET sau un PUT.
CreatedCererea a reușit și a fost creată o resursă nouă.Se returnează după un POST reușit care creează ceva.
AcceptedCererea a fost acceptată pentru procesare, dar nu s-a terminat încă.Un proces îndelungat a pornit și rulează asincron.
Non-Authoritative InformationCererea a reușit, dar datele returnate au fost transformate pe drumul înapoi.Un proxy sau un cache servește metadate modificate în locul celor ale originii.
No ContentCererea a reușit și nu există niciun corp de returnat.Un DELETE reușit sau un PUT fără nimic de spus.
Reset ContentCererea a reușit, iar clientul ar trebui să reseteze vizualizarea care a trimis-o.După trimiterea unui formular, pentru a-i spune paginii să își golească câmpurile.
Partial ContentServerul returnează doar o parte din resursă, conform cererii.Servirea unui interval de octeți dintr-o cerere Range.
3xx Redirecționare
Moved PermanentlyResursa are o nouă URL permanentă, iar cererile viitoare ar trebui să o folosească.O pagină s-a mutat, iar motoarele de căutare trebuie să își actualizeze indexul.
FoundResursa se află temporar la o altă URL, dar păstreaz-o pe cea originală.Redirecționare pentru o clipă către o pagină de autentificare.
See OtherRăspunsul se află la o altă URL și trebuie preluat cu un GET.Tiparul PRG: redirecționezi un POST către o pagină de rezultat, astfel o reîmprospătare nu îl retrimite.
Not ModifiedCopia din cache este încă validă, deci serverul nu trimite corp.GET condiționat unde cache-ul clientului este la zi.
Use ProxyCererea trebuie trimisă prin proxyul menționat în răspuns.Rețele de proxy vechi; învechit din 2011.
Temporary RedirectResursa se află temporar în altă parte, iar metoda cererii originale trebuie păstrată.Ca la 302, dar un POST rămâne POST la redirecționare.
Permanent RedirectResursa are o nouă URL permanentă, iar metoda cererii originale trebuie păstrată.Ca la 301, dar un POST rămâne POST la redirecționare.
4xx Eroare de client
Bad RequestServerul nu a înțeles cererea din cauza unei sintaxe greșite.JSON malformat sau un câmp obligatoriu lipsă.
UnauthorizedAutentificarea este necesară și fie a lipsit, fie a eșuat.Fără token sau cu un token invalid ori expirat.
Payment RequiredCererea necesită plată, deși specificația nu a definit niciodată cum.Unele API-uri îl folosesc ca marcator de paywall; majoritatea nu îl folosesc niciodată.
ForbiddenClientul este autentificat, dar nu are voie să acceseze această resursă.Autentificare validă, dar fără permisiune pentru această resursă.
Not FoundServerul nu are nicio resursă la această URL.URL necunoscut sau un ID care nu există.
Method Not AllowedURL-ul există, dar nu permite metoda cererii folosită.Un POST către un endpoint care acceptă doar GET.
Not AcceptableServerul nu poate returna conținut care să corespundă antetelor Accept ale clientului.Clientul a cerut doar XML, dar API-ul returnează numai JSON.
Proxy Authentication RequiredClientul trebuie să se autentifice la proxy înainte ca cererea să meargă mai departe.Un proxy de corporație care respinge o cerere neautentificată.
Request TimeoutClientul a durat prea mult să trimită cererea, iar serverul a renunțat.O încărcare care s-a blocat înainte ca corpul să sosească complet.
ConflictCererea intră în conflict cu starea curentă a resursei.Un e-mail duplicat sau o cursă de editare pe aceeași înregistrare.
GoneResursa a existat cândva, dar a fost eliminată definitiv.Un endpoint pensionat intenționat, mai puternic decât 404.
Length RequiredCererea are nevoie de un antet Content-Length și nu are unul.Un server care trebuie să cunoască dimensiunea dinainte respinge un corp transmis în flux.
Precondition FailedO precondiție din antet, precum If-Match, a evaluat la fals.O editare optimistă unde înregistrarea s-a schimbat de la citirea clientului.
Content Too LargeCorpul cererii depășește limita acceptată de server.O încărcare mai mare decât dimensiunea maximă a corpului la server.
URI Too LongURL-ul cererii este mai lung decât este dispus serverul să interpreteze.Un formular serializat din greșeală într-un query string GET care a crescut fără limită.
Unsupported Media TypeFormatul corpului cererii nu este unul acceptat de endpoint.Un POST cu Content-Type text/plain către un endpoint doar JSON.
Range Not SatisfiableIntervalul de octeți din antetul Range nu se potrivește resursei.Ceri octeți dincolo de sfârșitul unui fișier la reluarea unui download.
Expectation FailedServerul nu poate îndeplini așteptarea din antetul Expect.O așteptare 100-continue pe care serverul refuză să o onoreze.
I'm a teapotServerul este un ceainic și refuză să prepare cafea.O farsă de 1 aprilie din 1998 care nu moare; API-urile o returnează în glumă.
Misdirected RequestCererea a fost trimisă către un server care nu îi poate produce un răspuns.O conexiune refolosită, trimisă către un host pe care acest server nu îl deservește.
Unprocessable EntityCererea este bine formată, dar valorile ei nu trec validarea semantică.JSON valid ai cărui câmpuri încalcă regulile de business.
Too EarlyServerul refuză o cerere care riscă să fie o reluare (replay).Respingerea unei cereri neidempotente reîncercate înainte de rotirea cheilor.
Upgrade RequiredClientul trebuie să treacă la un alt protocol pentru a folosi această resursă.Un endpoint care insistă pe TLS sau WebSocket.
Precondition RequiredServerul cere antete condiționale pe care cererea nu le-a trimis.Un API care cere If-Match pentru a preveni actualizările pierdute.
Too Many RequestsClientul a trimis prea multe cereri într-o fereastră de timp dată.Un rate limit a fost atins; reduce ritmul și reîncearcă.
Request Header Fields Too LargeUnul sau mai multe câmpuri de antet sunt prea mari pentru ca serverul să le proceseze.Un cookie sau un token care a crescut până a blocat fiecare cerere către site.
Unavailable For Legal ReasonsResursa este blocată din motive legale, precum un takedown sau o restricție geografică.Un takedown guvernamental sau o pagină blocată într-o singură țară.
5xx Eroare de server
Internal Server ErrorServerul a întâlnit o condiție neașteptată și a eșuat.O excepție netratată sau un bug pe server.
Not ImplementedServerul nu suportă metoda sau funcționalitatea cerută.Un endpoint este declarat, dar încă nu este construit.
Bad GatewayUn gateway sau un proxy a primit un răspuns invalid de la un server upstream.Un reverse proxy nu a putut ajunge la backend.
Service UnavailableServerul nu poate temporar să gestioneze cererea.Mentenanță, supraîncărcare sau un serviciu dependent căzut.
Gateway TimeoutUn gateway sau un proxy nu a primit răspuns la timp de la un server upstream.Backend-ul a durat prea mult, iar proxy-ul a renunțat.
HTTP Version Not SupportedServerul nu suportă versiunea de HTTP din cerere.Un client care vorbește o versiune de protocol pe care serverul nu a învățat-o niciodată.
Variant Also NegotiatesNegocierea transparentă a conținutului s-a terminat într-o referință circulară.Un server configurat greșit care face negociere experimentală a conținutului.
Insufficient StorageServerul nu poate stoca reprezentarea necesară pentru a completa cererea.Un server WebDAV al cărui spațiu alocat de stocare este plin.
Loop DetectedServerul a intrat într-o buclă infinită în timp ce procesa cererea.O legătură WebDAV care se referă la sine.
Network Authentication RequiredClientul trebuie să se autentifice în rețea pentru a obține acces.Un portal captive la un hotel sau un aeroport care interceptează cererea.