Salt la conținutul principal
LibraTool logoLibraTool

Referință Coduri de Stare HTTP — gratuit

Referință căutabilă pentru toate codurile de stare HTTP — ce înseamnă fiecare, când este folosit și cauzele comune. De la 100 la 511.

Funcționează offline odată încărcat

61 de coduri de stare

100

Continuă

Serverul a primit anteturile solicitării și clientul ar trebui să procedeze cu corpul.

Utilizat pentru solicitările cu Expect: 100-continue. Serverul recunoaște că este dispus să primească corpul înainte ca clientul să îl trimită. Rareori văzut în aplicațiile web moderne.

RFC 9110 ↗
101

Comutare protocoale

Serverul comută protocoalele așa cum a solicitat clientul.

Cel mai frecvent utilizat pentru upgrade-uri WebSocket — clientul solicită Upgrade: websocket și serverul răspunde cu 101 pentru a comuta.

RFC 9110 ↗
102

Procesare

Serverul a primit solicitarea și o procesează, dar niciun răspuns nu este disponibil încă.

Un răspuns intermediar WebDAV trimis pentru a preveni expirarea timpului pe client în timpul operațiunilor lungi. Depreciat — serverele moderne nu ar trebui să îl trimită.

RFC 2518 ↗
103

Indicii timpurii

Antetele preliminare trimise înainte de răspunsul final.

Permite serverelor să trimită antetele Link (preload/preconnect) în timp ce răspunsul final este încă în pregătire, pentru ca browserele să poată începe să descarce activele critice mai devreme.

RFC 8297 ↗
200

OK

Solicitarea a reușit.

Răspunsul standard de succes. Semnificația depinde de metoda HTTP: GET → resursă returnată, POST/PUT → acțiune completată.

RFC 9110 ↗
201

Creat

O nouă resursă a fost creată cu succes.

Comun după POST. Răspunsul ar trebui să includă un antet Location care indică URL-ul noii resurse.

RFC 9110 ↗
202

Acceptat

Solicitarea a fost acceptată pentru procesare, dar procesarea nu este completă.

Pentru operațiuni asincrone — serverul pune în coadă de așteptare munca. Clientul ar trebui să sondeze un punct final de stare sau să verifice mai târziu.

RFC 9110 ↗
203

Informații neautoritare

Răspunsul a fost modificat de un proxy de transformare.

Solicitarea a reușit, dar un intermediar (cum ar fi un proxy de caching sau de transformare) a modificat sarcina utilă din serverul de origine — de exemplu, recomprimarea imaginilor. Rar în practică.

RFC 9110 ↗
204

Fără conținut

Solicitarea a reușit, dar nu există corp de răspuns.

Adesea utilizat pentru operațiunile DELETE sau pentru actualizările PUT care nu trebuie să returneze un corp. Clientul nu ar trebui să se îndepărteze de pagina actuală.

RFC 9110 ↗
205

Resetare conținut

Solicitarea a reușit; clientul ar trebui să reseteze vizualizarea documentului.

Ca 204, nu este returnat niciun corp — dar clientul este, de asemenea, anunțat să reseteze formularul sau vizualizarea care a produs solicitarea (ex. șterge câmpurile formularului pentru următoarea intrare).

RFC 9110 ↗
206

Conținut parțial

Serverul a furnizat doar o parte din resursă.

Răspuns la o solicitare Range. Utilizat de playerele video și managerii de descărcări pentru a relua descărcările întrerupte sau pentru a transmite fișiere mari.

RFC 9110 ↗
207

Stare multiplă

Corpul răspunsului conține coduri de stare multiple pentru mai multe operații.

WebDAV: un corp XML raportează rezultatul mai multor sub-operații în mod independent — ex. o mutare în masă unde unele articole au reușit și altele au eșuat.

RFC 4918 ↗
208

Deja raportat

Membrii unei colecții au fost deja listați mai devreme în răspuns.

WebDAV: utilizat în răspunsurile 207 Multi-Status pentru a evita listarea repetată a membrilor aceleiași colecții când legăturile creează bucle.

RFC 5842 ↗
226

IM folosit

Răspunsul este rezultatul manipulărilor de instanță aplicate resursei.

Codificare delta: serverul returnează o diferență comparativ cu o versiune anterioară în loc de resursa completă, economisind lățimea de bandă. Foarte rar implementat.

RFC 3229 ↗
300

Alegeri multiple

Mai multe reprezentări ale resursei sunt disponibile.

Serverul oferă mai multe opțiuni (ex. formate sau limbi diferite) și clientul ar trebui să aleagă una. Rareori utilizat, deoarece negocierea de conținut automată de obicei rezolvă aceasta.

RFC 9110 ↗
301

Mutat permanent

Resursa s-a mutat permanent la o nouă adresă URL.

Utilizează pentru schimbări permanente de URL — motoarele de căutare își vor actualiza indexul. Autoritatea SEO se transferă la noua adresă URL.

RFC 9110 ↗
302

Găsit (redirecționare temporară)

Resursa se află temporar la o altă adresă URL.

Indică faptul că redirecționarea nu este permanentă. Cache-ul este mai puțin agresiv decât 301. Utilizează pentru lucruri precum 'login necesar, redirecționare la /login'.

RFC 9110 ↗
303

Vezi altele

Redirecționează la o altă adresă URL folosind GET.

Utilizat după trimiteri POST — răspunsul spune 'POST-ul dvs. a funcționat, consultați această adresă URL GET pentru rezultat'. Browserele întotdeauna fac GET la noua adresă URL.

RFC 9110 ↗
304

Nu a fost modificat

Versiunea cache este încă validă; utilizează-o.

Răspuns la o solicitare condiționată (cu antetele If-None-Match sau If-Modified-Since). Economisește lățimea de bandă — nu este returnat niciun corp.

RFC 9110 ↗
307

Redirecționare temporară

Ca 302 dar păstrează metoda HTTP originală.

Dacă originalul era POST, redirecționarea utilizează și POST. Alternativa modernă la 302 când păstrarea metodei contează.

RFC 9110 ↗
308

Redirecționare permanentă

Ca 301 dar păstrează metoda HTTP originală.

Înlocuitor modern pentru 301 când dorești ca solicitările POST să rămână POST după redirecționare.

RFC 9110 ↗
400

Cerere greșită

Serverul nu a putut înțelege solicitarea din cauza sintaxei malformate.

Cauze comune: JSON malformat în corp, parametri de interogare nevalizi sau câmpuri necesare lipsă. Verifică corpul și antetele solicitării.

RFC 9110 ↗
401

Neautorizat

Autentificarea este necesară și nu a fost furnizată.

Clientul trebuie să includă credențiale de autentificare (antet Authorization, cookie, token). 'Neautorizat' este o denumire greșită — de fapt înseamnă 'neautentificat'.

RFC 9110 ↗
402

Plată necesară

Rezervat pentru utilizare viitoare — uneori utilizat pentru niveluri API plătite.

Intenționat pentru plăți digitale. Utilizare modernă: API-urile uneori returnează 402 când un utilizator și-a depășit cota plătită.

RFC 9110 ↗
403

Interzis

Clientul este autentificat, dar nu are permisiune.

Diferit de 401 — utilizatorul ESTE conectat, dar contul său nu are permisiune pentru această resursă. Verifică logica rolului/permisiunilor.

RFC 9110 ↗
404

Nu a fost găsit

Resursa solicitată nu există.

Fie adresa URL este greșită, resursa a fost ștearsă, fie nu a existat niciodată. Serverele uneori returnează 404 pentru a ascunde faptul că 403 ar fi mai precis.

RFC 9110 ↗
405

Metodă nepermisă

Metoda HTTP utilizată nu este permisă pentru această resursă.

De exemplu, o solicitare GET la un punct final care acceptă doar POST. Răspunsul ar trebui să includă un antet Allow care listează metodele valide.

RFC 9110 ↗
406

Neacceptabil

Nicio reprezentare nu se potrivește antetele Accept ale clientului.

Clientul a solicitat un tip de conținut, limbă sau codificare (prin Accept, Accept-Language, Accept-Encoding) pe care serverul nu o poate satisface. Mulți serveri omit negocierea strictă și returnează o valoare implicită.

RFC 9110 ↗
407

Autentificare proxy necesară

Clientul trebuie să se autentifice la proxy mai întâi.

Ca 401, dar emis de o proxy: clientul trebuie să trimită credențiale Proxy-Authorization. Văzut pe rețelele corporative cu proxy-uri cu autentificare.

RFC 9110 ↗
408

Cerere Expirată

Serverul a expirat în așteptarea cererii.

Clientul a durat prea mult timp pentru a trimite corpul cererii sau a ținut conexiunea inactiv. Încercați din nou cererea.

RFC 9110 ↗
409

Conflict

Cererea intră în conflict cu starea actuală a resursei.

De obicei returnat pentru conflicte de editare concomitente sau crearea de resurse duplicate (de ex., crearea unui utilizator cu un email care deja există).

RFC 9110 ↗
410

Dispărut

Resursa a fost ștearsă și nu va reveni.

Mai puternic decât 404 — serverul știe în mod explicit că resursa A EXISTAT dar a fost eliminată permanent. Motoarele de căutare vor dezindexa.

RFC 9110 ↗
411

Lungime Necesară

Serverul necesită un antet Content-Length.

Cererea a fost respinsă deoarece lipsea antetul Content-Length și serverul refuză corpuri de dimensiune necunoscută. Adăugați antetul și reîncercați.

RFC 9110 ↗
412

Condiție Eșuată

O condiție din anteturile cererii nu a fost îndeplinită.

Returnat când antetele condiționale cum ar fi If-Match sau If-Unmodified-Since eșuează — de obicei blocarea optimistă: altcineva a schimbat resursa de la versiunea dvs. Refaceți și reîncercați.

RFC 9110 ↗
413

Sarcină Prea Mare

Corpul cererii depășește limita de dimensiune a serverului.

Frecvent atunci când încărcați fișiere mari. Configurația serverului (nginx, apache) stabilește o dimensiune maximă a corpului. Verificați configurația serverului.

RFC 9110 ↗
414

URI Prea Lung

URL-ul cererii depășește limita de lungime a serverului.

De obicei cauzat de șiruri de interogare foarte lungi (de ex. codificarea datelor într-un GET). Treceți la un corp POST, sau ridicați limita serverului dacă îl controlați.

RFC 9110 ↗
415

Tip Media Nesuportat

Serverul nu poate gestiona Content-Type-ul trimis.

De exemplu, trimiterea application/xml la un server care acceptă doar application/json. Setați corect antetul Content-Type.

RFC 9110 ↗
416

Interval Nesatisfăcut

Intervalul de octeți solicitat se află în afara dimensiunii resursei.

Antetul Range cere o porțiune pe care fișierul nu o are — de ex. reluarea unei descărcări dincolo de sfârșitul fișierului. Răspunsul ar trebui să includă Content-Range cu dimensiunea reală.

RFC 9110 ↗
417

Așteptare Eșuată

Serverul nu poate îndeplini cerințele antetului Expect.

Trimis când serverul nu acceptă Expect: 100-continue. Unii clienți trimit acest antet în mod implicit pe POST-uri mari; dezactivarea acestuia rezolvă de obicei eroarea.

RFC 9110 ↗
418

Sunt un ceainic

Serverul refuză să fiarbă cafea pentru că este un ceainic.

O glumă de 1 aprilie din 1998 (RFC 2324). Unele API-uri reale o folosesc pentru glume sau pentru a marca punctele finale depreciate. Nu pentru utilizare în producție.

RFC 2324 ↗
421

Cerere direcționată greșit

Cererea a fost trimisă la un server incapabil să producă un răspuns pentru aceasta.

Frecvent cu reutilizarea conexiunilor HTTP/2: cererea a ajuns la un server care nu este configurat pentru gazda țintă. Clientul ar trebui să reîncerce pe o nouă conexiune.

RFC 9110 ↗
422

Conținut Neprocesat

Cererea era sintactic validă, dar semantic greșită.

De exemplu, JSON analizat corect dar un câmp obligatoriu lipsea, sau o valoare a câmpului era în afara intervalului. Frecvent în răspunsurile de validare ale API-ului REST.

RFC 9110 ↗
423

Blocat

Resursa este blocată.

WebDAV: resursa sursă sau destinație este blocată de alt client, deci operația nu poate continua. Așteptați ca blocarea să fie eliberată sau spargeți-o cu token-ul potrivit.

RFC 4918 ↗
424

Dependență Eșuată

Cererea a eșuat deoarece o cerere dependentă anterioară a eșuat.

WebDAV: într-un lanț de operații dependente, o acțiune anterioară a eșuat, deci aceasta nu a fost efectuată. Uitați-vă la eșecul anterior pentru cauza principală.

RFC 4918 ↗
425

Prea Devreme

Serverul refuză să proceseze o cerere care ar putea fi reluată.

Legat de TLS 1.3 0-RTT (date timpurii): serverul nu va risca procesarea unei cereri posibil reluate. Clientul ar trebui să reîncerce după finalizarea handshake-ului.

RFC 8470 ↗
426

Actualizare Necesară

Clientul trebuie să treacă la alt protocol.

Serverul refuză să servească cererea peste protocolul curent dar va face după o actualizare — răspunsul include un antet Upgrade care numește protocolul necesar.

RFC 9110 ↗
428

Condiție Necesară

Serverul cere ca cererea să fie condiționată.

Serverul cere antetele condiționale (cum ar fi If-Match) pentru a preveni conflictele de actualizare pierdute. Refaceți resursa, capturați ETag-ul acesteia și retrimiteți cu If-Match.

RFC 6585 ↗
429

Prea Multe Cereri

Clientul este supus limitării ratei.

Încetiniți. Răspunsul ar trebui să includă un antet Retry-After indicând când să reîncercați. Frecvent cu API-urile care au cote de cereri.

RFC 6585 ↗
431

Câmpuri Antet Cerere Prea Mari

Antetele sunt prea mari pentru ca serverul să le proceseze.

Fie un antet, fie dimensiunea totală a antetului depășește limita — cel mai adesea cauzat de cookie-uri supradimensionate. Ștergeți cookie-urile sau reduceți ceea ce aplicația dvs. stochează în acestea.

RFC 6585 ↗
451

Indisponibil Din Motive Legale

Acces refuzat din cauza cerințelor legale.

Resursa este blocată din motive legale — cenzură, ordine judecătorești sau reglementări regionale. Numărul este o referință la romanul Fahrenheit 451.

RFC 7725 ↗
500

Eroare Internă a Serverului

Serverul a întâmpinat o condiție neașteptată.

O captură generică pentru erorile pe partea serverului. Verificați jurnalele serverului pentru cauza reală: excepție netratată, eroare de bază de date, etc.

RFC 9110 ↗
501

Neimplementat

Serverul nu acceptă funcționalitatea solicitată.

De exemplu, serverul nu recunoaște metoda HTTP. Rar în practică — mai adesea veți vedea 405.

RFC 9110 ↗
502

Gateway invalid

Serverul, în calitate de poartă, a primit un răspuns greșit de la serverul upstream.

Frecvent în arhitecturi de microservicii. Echilibratorul de sarcină sau proxy invers a primit un răspuns malformat de la serviciul de backend.

RFC 9110 ↗
503

Serviciu Indisponibil

Serverul este temporar incapabil să gestioneze cererea.

Fie în jos pentru întreținere, fie supraîncărcat. Răspunsul ar trebui să includă un antet Retry-After. Adesea returnat în timpul implementărilor.

RFC 9110 ↗
504

Timeout Poartă

Serverul poartă a expirat în așteptarea unui răspuns upstream.

Serviciul de backend nu a răspuns suficient de repede. Verificați sănătatea serviciului upstream și configurațiile timeout.

RFC 9110 ↗
505

Versiune HTTP Neacceptată

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

Versiunea majoră HTTP a cererii nu este acceptată de server. Aproape niciodată nu se vede cu clienți moderni.

RFC 9110 ↗
506

Variantă Negociază de Asemenea

Serverul are o configurație greșită de negociere a conținutului.

Negocierea conținutului transparent s-a încheiat într-o buclă: varianta aleasă este configurată ea însăși pentru a negocia. Indică o eroare de configurație a serverului.

RFC 2295 ↗
507

Stocare Insuficientă

Serverul nu are spațiu pe disc.

Specific WebDAV în origine, dar uneori utilizat de servere generale. Înseamnă că serverul nu poate salva cererea din cauza constrângerilor de stocare.

RFC 4918 ↗
508

Buclă Detectată

Serverul a detectat o buclă infinită în timp ce procesează cererea.

WebDAV: procesarea unei cereri Depth: infinity a intrat într-o buclă (de ex. legări circulare). Operația a fost terminată.

RFC 5842 ↗
510

Neextins

Sunt necesare extensii suplimentare ale cererii.

Din Framework-ul de Extensie HTTP obsolet: serverul necesită mai multe informații înainte de a putea îndeplini cererea. Efectiv nefolosit pe webul modern.

RFC 2774 ↗
511

Autentificare Rețea Necesară

Clientul trebuie să se autentifice pentru a obține acces la rețea.

Utilizat de portalurile captive (WiFi hotel/aeroport) pentru a indica că utilizatorul trebuie să se conecteze la rețea înainte de a accesa site-uri externe.

RFC 6585 ↗

Utilizări frecvente

  • Referință pentru design APILa proiectarea API-urilor REST, alegeți codul de stare corect pentru fiecare răspuns.
  • Căutare rapidă coduri eroareCând aplicația dvs. returnează o eroare HTTP confuzie, căutare ce înseamnă de fapt.
  • Învață coduri stare HTTPReferință cuprinzătoare pentru studenți și dezvoltatori învățând HTTP și REST.
  • Referință rapidă în timp incidenteÎn timp incidente producție, căutare rapid ce înseamnă fiecare cod stare.
  • Referință pentru documentația APILa scrierea documentației API, faceți legătura cu descrieri autorizate ale codurilor de stare pe care le returnați.

Cum funcționează

Această unealtă este o referință client-side construită în jurul unui tabel de căutare codificat de 63 de coduri de stare HTTP care acoperă toate cele cinci clase (1xx–5xx), fiecare adnotat cu numărul RFC care îl definește. Nu există apel de server, niciun API extern, și nicio cerere de rețea — toată filtrarea și afișarea se întâmplă în browser folosind metodele integrate de array și șir ale JavaScript.

  1. 1
    Tabelul de căutare este încărcat
    Setul complet de 63 de coduri de stare înregistrate IANA este încorporat direct în această unealtă ca array JavaScript, fiecare intrare purtând codul numeric, numele canonic englezesc, clasa de categorie, și RFC-ul specific care îl definește (de exemplu, RFC 9110 pentru majoritatea codurilor HTTP/1.1, RFC 6585 pentru 429 Too Many Requests, RFC 2324 pentru 418 I'm a Teapot).
  2. 2
    Filtrul rulează în memorie
    Pe măsură ce scrii sau selectezi un filtru de categorie, Array.filter al JavaScript rulează pe lista din memorie, potrivind interogarea ta cu numărul codului de stare, numele canonic, și ambele șiruri de descriere scurtă și lungă folosind String.includes — fără întârziere de debounce, fără călătorie dus-întors la server.
  3. 3
    Detaliile se extind cu link RFC
    Fiecare rezultat se randează ca un element HTML details/summary. Extinderea unei intrări dezvăluie explicația în formă lungă și un link direct către RFC-ul autoritar pe rfc-editor.org, astfel încât poți citi textul exact al specificației pentru orice cod.
  4. 4
    Link-uri directe și copiere în clipboard
    Deschiderea unei intrări actualizează hash-ul URL la numărul codului (de exemplu, #404), făcând pagina partajabilă și prietenoasă cu favoritele. Butonul de copiere scrie șirul canonic (de exemplu, '404 Not Found') în clipboard prin API-ul navigator.clipboard al browser-ului.

Instrumente similare

Întrebări frecvente