tigtools

Coduri de stare HTTP

Căutați orice cod de stare HTTP: ce înseamnă, când îl trimit serverele și ce specificație îl definește. Căutați după număr sau cuvânt cheie, filtrați după clasă și creați un link direct către un cod.

Rulează în browser Fără înregistrare

79 coduri afișate

  • 100 Continue

    Serverul a primit anteturile cererii, iar clientul poate trimite corpul. Apare atunci când clientul trimite „Expect: 100-continue” înainte de a încărca un corp mare.

    Definit în RFC 9110

  • 101 Switching Protocols

    Serverul acceptă să treacă la protocolul solicitat de client prin antetul Upgrade. Apare atunci când o conexiune este actualizată la WebSocket.

    Definit în RFC 9110

  • 102 Processing

    Învechit sau neutilizat

    Serverul a acceptat o cerere WebDAV, dar nu a finalizat-o încă. A fost eliminat din specificațiile WebDAV ulterioare și este rar folosit astăzi.

    Definit în RFC 2518

  • 103 Early Hints

    Este trimis înaintea răspunsului final, astfel încât browserul să poată începe preîncărcarea resurselor listate în anteturile Link. Este folosit de CDN-uri și servere pentru a accelera încărcarea paginilor.

    Definit în RFC 8297

  • 200 OK

    Cererea a reușit, iar răspunsul conține rezultatul. Acesta este răspunsul normal pentru încărcarea unei pagini sau pentru un apel API reușit.

    Definit în RFC 9110

  • 201 Created

    Cererea a reușit și a creat o resursă nouă, identificată de obicei prin antetul Location. Este tipic după un POST reușit care creează o înregistrare.

    Definit în RFC 9110

  • 202 Accepted

    Cererea a fost acceptată pentru procesare, dar nu este finalizată. Este folosit de API-urile care pun lucrări în coadă, cum ar fi exporturile sau procesele batch.

    Definit în RFC 9110

  • 203 Non-Authoritative Information

    Cererea a reușit, dar un proxy de transformare a modificat conținutul returnat de serverul de origine.

    Definit în RFC 9110

  • 204 No Content

    Cererea a reușit și nu există conținut de returnat. Este obișnuit pentru cererile DELETE și pentru salvarea datelor când clientul nu are nevoie de un corp de răspuns.

    Definit în RFC 9110

  • 205 Reset Content

    Cererea a reușit, iar clientul ar trebui să reseteze vizualizarea documentului, de exemplu să golească un formular. Este rar folosit.

    Definit în RFC 9110

  • 206 Partial Content

    Serverul returnează doar intervalul de octeți solicitat de client. Apare atunci când se transmit fluxuri video, se reiau descărcările sau clientul trimite un antet Range.

    Definit în RFC 9110

  • 207 Multi-Status

    Un răspuns WebDAV care conține coduri de stare separate pentru mai multe resurse într-un corp XML.

    Definit în RFC 4918

  • 208 Already Reported

    Este folosit într-un răspuns WebDAV 207 pentru a evita listarea repetată a acelorași membri ai resursei legate.

    Definit în RFC 5842

  • 226 IM Used

    Serverul a aplicat manipulări de instanță (cum ar fi o codificare delta) asupra resursei curente. Este foarte rar întâlnit.

    Definit în RFC 3229

  • 300 Multiple Choices

    Resursa are mai multe reprezentări, iar clientul ar trebui să aleagă una. Este rar folosit în practică.

    Definit în RFC 9110

  • 301 Moved Permanently

    Resursa s-a mutat permanent la adresa URL din antetul Location. Browserele și motoarele de căutare își actualizează linkurile; unii clienți schimbă POST în GET atunci când îl urmează.

    Definit în RFC 9110

  • 302 Found

    Resursa se află temporar la un alt URL indicat în antetul Location. Apare frecvent după autentificare și pentru redirecționări temporare; browserele o urmează de obicei cu GET.

    Definit în RFC 9110

  • 303 See Other

    Clientul ar trebui să obțină rezultatul de la un alt URL cu GET. Se folosește după un POST de formular pentru a redirecționa către o pagină de confirmare (modelul Post/Redirect/Get).

    Definit în RFC 9110

  • 304 Not Modified

    Copia din cache este încă validă, deci serverul nu trimite niciun corp. Apare când un browser revalidează un fișier din cache cu If-None-Match sau If-Modified-Since.

    Definit în RFC 9110

  • 305 Use Proxy

    Învechit sau neutilizat

    Cerea clientului să folosească un proxy indicat în antetul Location. Este depreciat din motive de securitate, iar browserele îl ignoră.

    Definit în RFC 9110

  • 306 (Unused)

    Învechit sau neutilizat

    Rezervat. A fost folosit într-o versiune preliminară anterioară a HTTP/1.1 și nu mai este utilizat.

    Definit în RFC 9110

  • 307 Temporary Redirect

    Resursa se află temporar la un alt URL, iar clientul trebuie să repete cererea cu aceeași metodă și același corp. Este folosit și de browsere pentru redirecționările interne HSTS către HTTPS.

    Definit în RFC 9110

  • 308 Permanent Redirect

    Resursa s-a mutat permanent, iar clientul trebuie să folosească aceeași metodă și același corp la noul URL. Echivalentul permanent al codului 307, sigur pentru redirecționarea cererilor POST.

    Definit în RFC 9110

  • 400 Bad Request

    Serverul nu poate procesa cererea deoarece este malformată, de exemplu JSON invalid, un parametru de interogare greșit sau un cookie corupt.

    Definit în RFC 9110

  • 401 Unauthorized

    Cererea nu are date de autentificare valide. În ciuda numelui, înseamnă „neautentificat”; serverul trimite un antet WWW-Authenticate care descrie cum să te autentifici.

    Definit în RFC 9110

  • 402 Payment Required

    Rezervat pentru utilizare viitoare în specificația HTTP. Unele API-uri și servicii de plată îl folosesc atunci când este necesară o plată sau un abonament.

    Definit în RFC 9110

  • 403 Forbidden

    Serverul a înțeles cererea, dar o refuză, iar autentificarea din nou nu va ajuta. Apare când lipsesc permisiunile, listarea unui director este dezactivată sau un firewall blochează clientul.

    Definit în RFC 9110

  • 404 Not Found

    Serverul nu poate găsi resursa solicitată. De obicei, un link scris greșit sau învechit, o pagină ștearsă sau o rută API greșită.

    Definit în RFC 9110

  • 405 Method Not Allowed

    Resursa există, dar nu acceptă metoda HTTP folosită, de exemplu POST către un URL doar pentru citire. Răspunsul listează metodele permise în antetul Allow.

    Definit în RFC 9110

  • 406 Not Acceptable

    Serverul nu poate produce un răspuns în niciun format listat în antetele Accept ale clientului.

    Definit în RFC 9110

  • 407 Proxy Authentication Required

    Ca și 401, dar clientul trebuie să se autentifice mai întâi la un proxy. Apare în rețelele corporative cu un proxy care necesită autentificare.

    Definit în RFC 9110

  • 408 Request Timeout

    Serverul a expirat așteptând ca clientul să termine de trimis cererea. Apare pe conexiuni lente sau întrerupte.

    Definit în RFC 9110

  • 409 Conflict

    Cererea intră în conflict cu starea actuală a resursei, de exemplu un conflict de editare sau crearea unui element care există deja.

    Definit în RFC 9110

  • 410 Gone

    Resursa a fost eliminată definitiv și nu va reveni. Spre deosebire de 404, le spune motoarelor de căutare să elimine URL-ul mai repede.

    Definit în RFC 9110

  • 411 Length Required

    Serverul necesită un antet Content-Length, iar cererea nu a inclus unul.

    Definit în RFC 9110

  • 412 Precondition Failed

    O condiție din anteturile cererii, cum ar fi If-Match, nu a fost îndeplinită. Se folosește pentru a preveni suprascrierea unei resurse care s-a modificat de când clientul a citit-o ultima dată.

    Definit în RFC 9110

  • 413 Content Too Large

    Corpul cererii este mai mare decât acceptă serverul. Apare la încărcarea unui fișier peste o limită, cum ar fi client_max_body_size din nginx.

    Definit în RFC 9110

  • 414 URI Too Long

    URL-ul este mai lung decât poate procesa serverul. De obicei este cauzat de un formular care trimite prea multe date prin GET sau de o buclă de redirecționare care adaugă parametri în continuu.

    Definit în RFC 9110

  • 415 Unsupported Media Type

    Serverul nu acceptă formatul corpului cererii, de exemplu trimiterea unui XML către un endpoint care așteaptă application/json.

    Definit în RFC 9110

  • 416 Range Not Satisfiable

    Intervalul de octeți solicitat în antetul Range este în afara dimensiunii resursei.

    Definit în RFC 9110

  • 417 Expectation Failed

    Serverul nu poate îndeplini cerința din antetul Expect al clientului.

    Definit în RFC 9110

  • 418 I'm a teapot

    O glumă de 1 aprilie din protocolul Hyper Text Coffee Pot Control Protocol din 1998: un ceainic care refuză să facă cafea. HTTP rezervă codul ca neutilizat, dar unele servere îl returnează ca un easter egg sau pentru a respinge roboții nedoriți.

    Definit în RFC 2324 / RFC 9110 (Unused)

  • 419 Page Expired

    Nestandard

    Nu este un cod standard. Laravel îl returnează când tokenul CSRF al unui formular lipsește sau a expirat, de obicei după expirarea sesiunii.

    Definit în Laravel

  • 420 Enhance Your Calm

    Nestandard

    Nu este un cod standard. Vechiul API Twitter îl folosea pentru limitarea ratei; 429 este codul standard pentru acest lucru.

    Definit în Twitter API v1

  • 421 Misdirected Request

    Cererea a ajuns la un server care nu poate produce un răspuns pentru această gazdă, de exemplu când o conexiune HTTP/2 este refolosită pentru un alt domeniu.

    Definit în RFC 9110

  • 422 Unprocessable Content

    Cererea este bine formată, dar conținutul său este invalid, cum ar fi un formular cu reguli de validare nereușite. Este folosit pe scară largă de API-uri pentru erori de validare.

    Definit în RFC 9110

  • 423 Locked

    Resursa WebDAV este blocată și nu poate fi modificată.

    Definit în RFC 4918

  • 424 Failed Dependency

    Cererea WebDAV a eșuat deoarece o altă acțiune de care depindea a eșuat.

    Definit în RFC 4918

  • 425 Too Early

    Serverul nu va procesa o cerere care ar putea fi rejucată, cum ar fi una trimisă în early data TLS 1.3.

    Definit în RFC 8470

  • 426 Upgrade Required

    Serverul refuză cererea cu protocolul actual și indică protocolul necesar în antetul Upgrade.

    Definit în RFC 9110

  • 428 Precondition Required

    Serverul solicită o cerere condiționată (de exemplu cu If-Match) pentru a preveni pierderea actualizărilor.

    Definit în RFC 6585

  • 429 Too Many Requests

    Clientul a trimis prea multe cereri într-un anumit interval. API-urile îl folosesc pentru limitarea ratei și includ adesea un antet Retry-After care indică momentul pentru o nouă încercare.

    Definit în RFC 6585

  • 431 Request Header Fields Too Large

    Antetele cererii sunt prea mari, adesea din cauza prea multor cookie-uri sau a unor cookie-uri supradimensionate. Ștergerea cookie-urilor site-ului rezolvă de obicei problema.

    Definit în RFC 6585

  • 444 No Response

    Nestandard

    Nu este un cod standard. nginx îl folosește intern pentru a închide conexiunea fără a trimite niciun răspuns, adesea pentru a respinge trafic nedorit; clienții nu îl primesc niciodată efectiv.

    Definit în nginx

  • 451 Unavailable For Legal Reasons

    Resursa este indisponibilă din motive legale, precum o hotărâre judecătorească sau cenzura guvernamentală. Numărul face referire la romanul Fahrenheit 451.

    Definit în RFC 7725

  • 494 Request Header Too Large

    Nestandard

    Nu este un cod standard. Este varianta proprie a nginx pentru 431, înregistrată când antetele cererii depășesc limitele bufferelor sale.

    Definit în nginx

  • 495 SSL Certificate Error

    Nestandard

    Nu este un cod standard. nginx îl returnează când un certificat de client nu trece verificarea.

    Definit în nginx

  • 496 SSL Certificate Required

    Nestandard

    Nu este un cod standard. nginx îl returnează când un certificat de client obligatoriu nu a fost furnizat.

    Definit în nginx

  • 497 HTTP Request Sent to HTTPS Port

    Nestandard

    Nu este un cod standard. nginx îl returnează când o cerere HTTP simplă este trimisă către un port configurat pentru HTTPS.

    Definit în nginx

  • 499 Client Closed Request

    Nestandard

    Nu este un cod standard. nginx îl înregistrează când clientul a închis conexiunea înainte ca serverul să răspundă, de exemplu un utilizator care anulează o pagină lentă sau un timeout din partea clientului.

    Definit în nginx

  • 500 Internal Server Error

    Serverul a întâmpinat o eroare neașteptată și nu a putut finaliza cererea. O eroare generică provenită dintr-un bug, o blocare sau o configurare greșită; jurnalele serverului conțin detaliile.

    Definit în RFC 9110

  • 501 Not Implemented

    Serverul nu acceptă funcționalitatea necesară, cum ar fi o metodă HTTP pe care nu o recunoaște.

    Definit în RFC 9110

  • 502 Bad Gateway

    Un gateway sau un proxy a primit un răspuns nevalid de la serverul din amonte. Frecvent când aplicația din spatele nginx sau al unui load balancer s-a blocat sau repornește.

    Definit în RFC 9110

  • 503 Service Unavailable

    Serverul nu poate procesa temporar cererea deoarece este supraîncărcat sau este oprit pentru mentenanță. Antetul Retry-After poate indica când să reîncercați.

    Definit în RFC 9110

  • 504 Gateway Timeout

    Un gateway sau un proxy nu a primit un răspuns de la serverul din amonte la timp. Apare când o cerere către backend este prea lentă, cum ar fi o interogare lungă de bază de date.

    Definit în RFC 9110

  • 505 HTTP Version Not Supported

    Serverul nu acceptă versiunea HTTP utilizată în cerere.

    Definit în RFC 9110

  • 506 Variant Also Negotiates

    O eroare de configurare a negocierii de conținut pe server: varianta aleasă este ea însăși configurată să negocieze.

    Definit în RFC 2295

  • 507 Insufficient Storage

    Serverul nu poate stoca ceea ce este necesar pentru a finaliza cererea, de exemplu un disc plin pe un server WebDAV.

    Definit în RFC 4918

  • 508 Loop Detected

    Serverul a oprit o operațiune WebDAV deoarece a detectat o buclă infinită.

    Definit în RFC 5842

  • 509 Bandwidth Limit Exceeded

    Nestandard

    Nu este un cod standard. Folosit de unele configurații de găzduire partajată (module Apache, cPanel) când un site își depășește limita de bandă.

    Definit în Apache / cPanel

  • 510 Not Extended

    Învechit sau neutilizat

    Cererea necesită extensii suplimentare pentru a fi îndeplinită. Definit de o specificație experimentală care acum este istorică.

    Definit în RFC 2774

  • 511 Network Authentication Required

    Clientul trebuie să se autentifice pentru a obține acces la rețea. Este trimis de portalurile captive din rețelele Wi-Fi de la hotel, aeroport sau cafenea înainte de autentificare.

    Definit în RFC 6585

  • 520 Web Server Returned an Unknown Error

    Nestandard

    Nu este un cod standard. Cloudflare îl returnează când serverul de origine a trimis un răspuns gol, necunoscut sau neașteptat.

    Definit în Cloudflare

  • 521 Web Server Is Down

    Nestandard

    Nu este un cod standard. Cloudflare îl returnează când serverul de origine a refuzat conexiunea, de obicei pentru că serverul web este oprit sau blochează adresele IP ale Cloudflare.

    Definit în Cloudflare

  • 522 Connection Timed Out

    Nestandard

    Nu este un cod standard. Cloudflare îl returnează când conexiunea TCP către serverul de origine a expirat.

    Definit în Cloudflare

  • 523 Origin Is Unreachable

    Nestandard

    Nu este un cod standard. Cloudflare îl returnează când nu poate contacta serverul de origine, de exemplu din cauza unei probleme DNS sau de rutare.

    Definit în Cloudflare

  • 524 A Timeout Occurred

    Nestandard

    Nu este un cod standard. Cloudflare îl returnează când s-a conectat la serverul de origine, dar nu a primit un răspuns HTTP în timpul limită (100 de secunde în mod implicit).

    Definit în Cloudflare

  • 525 SSL Handshake Failed

    Nestandard

    Nu este un cod standard. Cloudflare îl returnează când handshake-ul SSL/TLS cu serverul de origine a eșuat.

    Definit în Cloudflare

  • 526 Invalid SSL Certificate

    Nestandard

    Nu este un cod standard. Cloudflare îl returnează când certificatul SSL al serverului de origine este invalid și modul SSL Full (strict) este activat.

    Definit în Cloudflare

Cum se folosește

  1. Tastați un număr de cod (de exemplu 404 sau doar 5 pentru toate erorile de server) sau un cuvânt cheie precum „redirect” sau „timeout”.
  2. Restrângeți lista cu filtrul de clasă: informațional, succes, redirecționare, eroare de client sau eroare de server.
  3. Folosiți „Copy link” la orice cod pentru a partaja un link direct către acesta, de exemplu într-un raport de eroare.

Cum funcționează

Fiecare răspuns HTTP începe cu un cod de stare din trei cifre. Prima cifră stabilește clasa: 1xx răspunsuri informaționale, 2xx succes, 3xx redirecționare, 4xx erori cauzate de cerere și 5xx erori pe partea de server. Clienții care nu recunosc un anumit cod îl tratează ca pe codul x00 al clasei sale, astfel încât un cod 4xx necunoscut este tratat ca 400.

Codurile de bază sunt definite în RFC 9110 (HTTP Semantics, 2022), care a înlocuit vechiul RFC 7231. Altele provin din extensii: WebDAV (RFC 4918), RFC 6585 pentru 428, 429, 431 și 511, RFC 7725 pentru 451 și RFC 8470 pentru 425. RFC 9110 a redenumit și două coduri: 413 este acum „Content Too Large”, iar 422 „Unprocessable Content”; le puteți întâlni în continuare sub vechile denumiri „Payload Too Large” și „Unprocessable Entity”.

Unele coduri pe care le întâlniți în jurnale nu sunt deloc standard. nginx folosește intern 444 și 494–499 (499 indică un client care a renunțat să mai aștepte), iar Cloudflare returnează 520–526 atunci când nu poate obține un răspuns corect de la serverul de origine. Acestea sunt marcate „Non-standard” în listă. Expresiile de motiv (cum ar fi „Not Found”) sunt afișate în engleză așa cum sunt scrise în specificații; HTTP/2 și HTTP/3 trimit doar numărul.

Exemple

301 sau 308 la mutarea unui site

Ambele sunt permanente. Folosiți 301 pentru mutări obișnuite de pagini; folosiți 308 atunci când clienții trebuie să repete cererile POST sau PUT către noul URL, deoarece unii clienți transformă POST în GET după un 301.

401 versus 403

Un API returnează 401 atunci când nu este trimis niciun token sau tokenul trimis este expirat, astfel încât clientul ar trebui să se autentifice. Returnează 403 atunci când tokenul este valid, dar utilizatorul nu are permisiunea necesară, deci o nouă autentificare nu va ajuta.

Diagnosticarea unui 502 în spatele nginx

Un 502 Bad Gateway de la nginx înseamnă că aplicația din spatele lui nu a răspuns corespunzător. Verificați dacă procesul aplicației rulează și ce a înregistrat în jurnal; 504 înseamnă, în schimb, că a răspuns prea lent.

Întrebări frecvente

Care este diferența dintre 404 și 410?

404 înseamnă că serverul nu poate găsi resursa și nu spune nimic despre viitor. 410 indică faptul că resursa a fost eliminată în mod deliberat și nu va mai reveni, ceea ce ajută motoarele de căutare să elimine mai repede URL-ul.

Ar trebui ca o eroare de validare să returneze 400 sau 422?

Ambele sunt folosite. 400 se potrivește cererilor pe care serverul nu le poate parsa, cum ar fi JSON invalid. 422 se potrivește cererilor care se parsează corect, dar conțin valori nevalide, cum ar fi un câmp de email fără @.

Este 418 „I’m a teapot” un cod de stare real?

Provine dintr-un RFC de 1 aprilie din 1998. RFC 9110 rezervă codul 418 ca nefolosit pentru a nu fi atribuit altui scop, iar câteva servere îl returnează ca glumă, dar nu are o semnificație standard.

De unde provine 499?

499 este specific nginx. Apare în logurile nginx atunci când clientul închide conexiunea înainte ca serverul să trimită un răspuns. Clientul nu primește niciodată un 499; de obicei indică răspunsuri lente sau expirări de timp pe partea clientului.

Motoarele de căutare tratează 302 la fel ca 301?

Un 302 semnalează o mutare temporară, așa că motoarele de căutare păstrează de obicei URL-ul original indexat inițial. Dacă un 302 rămâne activ mult timp, Google îl poate trata ca pe o redirecționare permanentă. Folosiți 301 sau 308 pentru mutări permanente.

Confidențialitate

Lista face parte din pagină. Căutarea și filtrarea se realizează în browserul dvs.; termenii căutați nu sunt trimiși nicăieri și nu sunt incluși în statistici.