Lumaktaw sa pangunahing nilalaman

Libreng Sanggunian ng HTTP Status Codes

Searchable na reference para sa lahat ng HTTP status code — ang kahulugan ng bawat isa, kung kailan ginagamit, at mga karaniwang sanhi. Mula 100 hanggang 511.

Gumagana offline kapag na-load na

61 status code

100

Magpatuloy

Natanggap ng server ang request headers at dapat magpatuloy ang client sa body.

Ginagamit para sa mga request na may Expect: 100-continue. Kinikilala ng server na handang makatanggap ng body bago ipadala ito ng client. Bihira makita sa modernong web apps.

RFC 9110 ↗
101

Nagpapalit ng Protocols

Nag-switch ang server ng protocols tulad ng hiniling ng client.

Pinakakaraniwang ginagamit para sa WebSocket upgrades — hinihiling ng client ang Upgrade: websocket at sumasagot ang server ng 101 upang lumipat.

RFC 9110 ↗
102

Nag-process

Natanggap ng server ang request at nag-process, pero walang response pa.

Isang WebDAV interim response na ipinapadala upang maiwasan ang client timeouts sa mahabang operasyon. Deprecated — hindi dapat ipadala ng modernong servers.

RFC 2518 ↗
103

Mga Maagang Pahiwatig

Preliminary headers na ipinapadala bago ang final response.

Nagpapahintulot sa mga server na magpadala ng Link headers (preload/preconnect) habang ang final response ay patuloy na inihahanda, upang magsimulang mag-fetch ang browsers ng critical assets nang mas maaga.

RFC 8297 ↗
200

OK

Matagumpay ang request.

Ang standard success response. Ang kahulugan ay depende sa HTTP method: GET → resource returned, POST/PUT → action completed.

RFC 9110 ↗
201

Ginawa

Matagumpay na ginawa ang bagong resource.

Karaniwan pagkatapos ng POST. Dapat kasama ng response ang Location header na tumuturo sa URL ng bagong resource.

RFC 9110 ↗
202

Tinanggap

Tinanggap ang request para sa pagproseso, pero hindi pa tapos ang pagproseso.

Para sa async operations — nag-queue ang server ng trabaho. Dapat mag-poll ang client ng status endpoint o bumalik mamaya.

RFC 9110 ↗
203

Non-Authoritative Information

Nabago ang response ng transforming proxy.

Matagumpay ang request, pero binago ng intermediary (tulad ng caching o transforming proxy) ang payload mula sa origin server — halimbawa, pag-compress ng mga larawan. Bihira sa pagsasagawa.

RFC 9110 ↗
204

Walang Nilalaman

Matagumpay ang request pero walang response body.

Kadalasan ginagamit para sa DELETE operations o PUT updates na hindi kailangang magbalik ng body. Hindi dapat lumipat ang client sa ibang pahina.

RFC 9110 ↗
205

I-reset ang Nilalaman

Matagumpay ang request; dapat i-reset ng client ang document view.

Tulad ng 204, walang body na bumabalik — ngunit sinasabihan din ang client na i-reset ang form o view na nagdulot ng request (hal. i-clear ang form fields para sa susunod na entry).

RFC 9110 ↗
206

Partial na Nilalaman

Naghatid lang ang server ng bahagi ng resource.

Response sa isang Range request. Ginagamit ng video players at download managers upang muling simulan ang interrupted downloads o mag-stream ng malalaking files.

RFC 9110 ↗
207

Multi-Status

Ang response body ay naglalaman ng maraming status codes para sa maraming operations.

WebDAV: ang XML body ay nag-uulat ng resulta ng maraming sub-operations nang hiwalay — hal. batch move kung saan ang ilan ay matagumpay at iba ay nabigo.

RFC 4918 ↗
208

Naiulat Na

Naiulat na ang mga miyembro ng koleksyon nang mas maaga sa response.

WebDAV: ginagamit sa loob ng 207 Multi-Status responses upang maiwasan ang paulit-ulit na paglalista ng mga miyembro ng parehong koleksyon kapag ang bindings ay lumilikha ng loops.

RFC 5842 ↗
226

IM Ginamit

Ang response ay resulta ng instance manipulations na inilapat sa resource.

Delta encoding: bumabalik ang server ng diff laban sa nakaraang bersyon sa halip na ang buong resource, nakakatipid ng bandwidth. Napakabihira ng implementation.

RFC 3229 ↗
300

Maraming Pagpipilian

May maraming representasyon ng resource na available.

Nag-alok ang server ng maraming opsyon (hal. iba't ibang format o wika) at dapat piliin ng client ang isa. Bihira gamitin, dahil karaniwang hinahawakan ito ng awtomatikong content negotiation.

RFC 9110 ↗
301

Permanent na Lumipat

Permanent na lumipat ang resource sa bagong URL.

Gamitin para sa permanent URL changes — ita-update ng mga search engines ang kanilang index. Nalilipat sa bagong URL ang SEO authority.

RFC 9110 ↗
302

Nahanap (Temporary Redirect)

Ang resource ay pansamantalang nasa ibang URL.

Ipinapahiwatig na hindi permanent ang redirect. Hindi kasing-agresibo ng 301 ang caching. Gamitin para sa mga bagay tulad ng 'kailangan ng login, naglilipat sa /login'.

RFC 9110 ↗
303

Tingnan ang Iba

I-redirect sa ibang URL gamit ang GET.

Ginagamit pagkatapos ng POST submissions — ang response ay nagsasabi na 'gumana ang iyong POST, tingnan ang URL na ito para sa resulta'. Laging GET ang mga browser sa bagong URL.

RFC 9110 ↗
304

Hindi Nabago

Ang cached version ay patuloy na valid; gamitin ito.

Response sa isang conditional request (na may If-None-Match o If-Modified-Since headers). Nakakatipid ng bandwidth — walang body na bumabalik.

RFC 9110 ↗
307

Temporary Redirect

Tulad ng 302 pero pinapanatili ang orihinal na HTTP method.

Kung ang orihinal ay POST, gumagamit din ng POST ang redirect. Modernong alternatibo sa 302 kung importante ang method preservation.

RFC 9110 ↗
308

Permanent Redirect

Tulad ng 301 pero pinapanatili ang orihinal na HTTP method.

Modernong pagpapalit ng 301 kung gusto mong manatiling POST ang mga POST requests pagkatapos ng redirect.

RFC 9110 ↗
400

Maling Request

Hindi maintindihan ng server ang request dahil sa malformed syntax.

Karaniwang dahilan: malformed JSON sa body, invalid query parameters, o nawawalang required fields. Suriin ang request body at headers.

RFC 9110 ↗
401

Unauthorized

Kinakailangan ang authentication at hindi pa naibigay.

Dapat kasama ng client ang authentication credentials (Authorization header, cookie, token). Ang 'Unauthorized' ay misnomer — talagang nangangahulugang 'unauthenticated'.

RFC 9110 ↗
402

Kinakailangang Bayad

Naka-reserve para sa hinaharap — kung minsan ginagamit para sa paid API tiers.

Orihinal na inilaan para sa digital payments. Modernong paggamit: kung minsan ang mga APIs ay nagbabalik ng 402 kapag lumampas ang user sa kanilang paid quota.

RFC 9110 ↗
403

Ipinagbabawal

Authenticated ang client ngunit walang permission.

Iba sa 401 — logged in ang user, ngunit ang account ay walang permission para sa resource na ito. Suriin ang role/permissions logic.

RFC 9110 ↗
404

Hindi Nahanap

Ang hiniling na resource ay wala.

Alinman ang URL ay mali, ang resource ay nabura, o hindi ito kailanman umiiral. Kung minsan ang mga server ay nagbabalik ng 404 upang itago na ang 403 ay mas tumpak.

RFC 9110 ↗
405

Hindi Pinapayagan ang Method

Ang HTTP method na ginagamit ay hindi pinapayagan para sa resource na ito.

Halimbawa, isang GET request sa endpoint na tumatanggap lang ng POST. Dapat kasama ng response ang Allow header na naglalista ng valid methods.

RFC 9110 ↗
406

Hindi Katanggap-tanggap

Walang representasyon na tumutugma sa Accept headers ng client.

Hiniling ng client ang content type, wika, o encoding (via Accept, Accept-Language, Accept-Encoding) na hindi mabibigay ng server. Maraming server ang lumalaktaw sa mahigpit na negotiation at nagbabalik na lang ng default.

RFC 9110 ↗
407

Kailangan ang Proxy Authentication

Dapat munang mag-authenticate ang client sa proxy.

Tulad ng 401, ngunit inisyu ng proxy: dapat magpadala ng Proxy-Authorization credentials ang client. Nakikita sa corporate networks na may authenticating proxies.

RFC 9110 ↗
408

Timeout ng Kahilingan

Nag-timeout ang server na naghihintay para sa kahilingan.

Tumagal ng mahabang oras ang kliyente upang magpadala ng body ng kahilingan o pinanatili ang koneksyon na idle. Subukan ang kahilingan muli.

RFC 9110 ↗
409

Conflict

Ang kahilingan ay nakikipag-conflict sa kasalukuyang estado ng resource.

Karaniwang ibinabalik para sa mga conflict ng sabay-sabay na pagbabago o paglikha ng duplicate na resource (hal., paglikha ng user na may email na umiiral na).

RFC 9110 ↗
410

Gone

Ang resource ay na-delete at hindi na babalik.

Mas malakas kaysa 404 — ang server ay malinaw na alam na ang resource NOON ay umiiral ngunit permanenteng tinanggal. Ang mga search engine ay magsasagawa ng deindex.

RFC 9110 ↗
411

Kinakailangan ang Haba

Ang server ay nangangailangan ng Content-Length header.

Ang kahilingan ay na-reject dahil wala itong Content-Length header at ang server ay tumutanggi sa mga body na may hindi kilalang sukat. Idagdag ang header at subukan muli.

RFC 9110 ↗
412

Nabigo ang Precondition

Ang isang kondisyon sa mga header ng kahilingan ay hindi natugunan.

Ibinabalik kapag ang mga conditional header tulad ng If-Match o If-Unmodified-Since ay nabigo — karaniwang optimistic locking: may nagbago ng resource mula sa iyong bersyon. Muling kunin at subukan muli.

RFC 9110 ↗
413

Masyadong Malaki ang Payload

Ang body ng kahilingan ay lumampas sa limit ng sukat ng server.

Karaniwan kapag nag-upload ng malalaking file. Ang server config (nginx, apache) ay nagtakda ng max body size. Suriin ang configuration ng server.

RFC 9110 ↗
414

Masyadong Mahaba ang URI

Ang URL ng kahilingan ay lumampas sa limit ng haba ng server.

Karaniwang sanhi ng napakahaba ng query string (hal. pag-encode ng data sa GET). Lumipat sa POST body, o itaas ang limit ng server kung kontrolado mo ito.

RFC 9110 ↗
415

Hindi Sinusuportahang Media Type

Ang server ay hindi makakasagot ng Content-Type na ipinapadala.

Halimbawa, nagpadala ng application/xml sa server na tumatanggap lamang ng application/json. Itakda nang tama ang Content-Type header.

RFC 9110 ↗
416

Hindi Matutugunan ang Range

Ang hiniling na byte range ay nasa labas ng sukat ng resource.

Ang Range header ay humihingi ng bahagi na wala sa file — hal. pagpapatuloy ng download pagkatapos ng dulo ng file. Ang response ay dapat magsama ng Content-Range na may aktwal na sukat.

RFC 9110 ↗
417

Nabigo ang Expectation

Ang server ay hindi makapagtupad ng mga pangangailangan ng Expect header.

Ipinapadala kapag hindi sinusuportahan ng server ang Expect: 100-continue. Ang ilang client ay ipinapadala ang header na ito bilang default sa malalaking POST; karaniwang nalulutas ng pag-disable nito ang error.

RFC 9110 ↗
418

Ako ay Isang Teapot

Ang server ay tumutanggi na mag-brew ng kape dahil ito ay isang teapot.

Isang biro tuwing April Fool's mula 1998 (RFC 2324). Ang ilang tunay na API ay gumagamit nito bilang biro o para markahan ang mga deprecated endpoint. Hindi para sa production use.

RFC 2324 ↗
421

Misdirected Request

Ipinadala ang request sa isang server na hindi makakabuo ng tugon para dito.

Karaniwan sa HTTP/2 connection reuse: umabot ang request sa isang server na hindi configured para sa target hostname. Dapat sumubok muli ang client sa bagong koneksyon.

RFC 9110 ↗
422

Hindi Maprosesong Nilalaman

Ang kahilingan ay syntactically valid ngunit semantically mali.

Halimbawa, tama ang pag-parse ng JSON ngunit may nawawalang required field, o wala sa range ang value ng field. Karaniwan sa REST API validation responses.

RFC 9110 ↗
423

Naka-Lock

Ang resource ay naka-lock.

WebDAV: ang source o destination resource ay naka-lock ng ibang kliyente, kaya ang operasyon ay hindi maaaring magpatuloy. Maghintay para sa lock na mailabas o sirain ito gamit ang naaangkop na token.

RFC 4918 ↗
424

Nabigo ang Dependency

Ang kahilingan ay nabigo dahil ang nakaraang dependent request ay nabigo.

WebDAV: sa isang serye ng dependent operations, ang mas naunang aksyon ay nabigo, kaya ito ay hindi isinagawa. Tingnan ang mas naunang failure para sa root cause.

RFC 4918 ↗
425

Masyadong Maaga

Ang server ay tumutanggi na magproseso ng kahilingan na maaaring ma-replay.

May kaugnayan sa TLS 1.3 0-RTT (early data): ayaw ng server na ipagsapalaran ang pagproseso ng posibleng na-replay na request. Dapat sumubok muli ang client pagkatapos makumpleto ang handshake.

RFC 8470 ↗
426

Kinakailangan ang Upgrade

Ang kliyente ay dapat lumipat sa ibang protocol.

Ang server ay tumutanggi na maglingkod sa kahilingan sa pamamagitan ng kasalukuyang protocol ngunit magagawa pagkatapos ng upgrade — ang response ay nagsasama ng Upgrade header na nagpapangalan ng kinakailangang protocol.

RFC 9110 ↗
428

Kinakailangan ang Precondition

Ang server ay nangangailangan na ang kahilingan ay conditional.

Ang server ay humihiling ng conditional headers (tulad ng If-Match) upang maiwasan ang lost-update conflicts. Kunin ang resource, kunin ang ETag nito, at ipadala muli gamit ang If-Match.

RFC 6585 ↗
429

Masyadong Maraming Kahilingan

Nililimitahan ang bilis ng mga request ng client (rate-limited).

Bagalan ang pagpapadala. Dapat kasama sa response ang Retry-After header na nagsasabi kung kailan susubok muli. Karaniwan sa mga API na may request quota.

RFC 6585 ↗
431

Masyadong Malaki ang mga Request Header Field

Ang mga header ay masyadong malaki para sa server na iproseso.

Alinman ang isang header o ang kabuuang laki ng header ay lumampas sa limit — kadalasang sanhi ng oversized na cookies. I-clear ang cookies o bawasan ang iniimbak ng iyong app sa mga ito.

RFC 6585 ↗
451

Hindi Available Dahil sa Legal na Dahilan

Ang access ay tinanggihan dahil sa legal demands.

Hinarang ang resource dahil sa mga legal na dahilan — censorship, utos ng korte, o regional na regulasyon. Pagpupugay sa nobelang Fahrenheit 451 ang numero.

RFC 7725 ↗
500

Internal Server Error

Ang server ay nakaranas ng hindi inaasahang kondisyon.

Isang generic catch-all para sa server-side errors. Suriin ang server logs para sa aktwal na sanhi: unhandled exception, database error, atbp.

RFC 9110 ↗
501

Hindi Naipatupad

Ang server ay hindi sumusuporta sa functionality na hinihingi.

Halimbawa, ang server ay hindi kinikilala ang HTTP method. Bihira sa practice — mas madalas makikita mo ang 405.

RFC 9110 ↗
502

Maling Gateway

Nakakuha ang server, na kumikilos bilang gateway, ng maling tugon mula sa upstream server.

Karaniwan sa microservice architectures. Ang iyong load balancer o reverse proxy ay nakakuha ng malformed response mula sa backend service.

RFC 9110 ↗
503

Hindi Available ang Service

Ang server ay pansamantalang hindi makakasagot ng kahilingan.

Alinman ay down para sa maintenance o overloaded. Ang response ay dapat magsama ng Retry-After header. Madalas na ibinabalik sa panahon ng deployments.

RFC 9110 ↗
504

Gateway Timeout

Ang gateway server ay nag-timeout na naghihintay para sa upstream response.

Hindi tumugon nang sapat na bilis ang backend service. Suriin ang health ng upstream service at ang mga configuration ng timeout.

RFC 9110 ↗
505

Hindi Sinusuportahang HTTP Version

Ang server ay hindi sumusuporta sa HTTP version na ginamit sa kahilingan.

Ang pangunahing HTTP version ng kahilingan ay hindi sinusuportahan ng server. Halos hindi kailanman nakita sa modernong mga kliyente.

RFC 9110 ↗
506

Nagne-negotiate Rin ang Variant

Ang server ay may content negotiation misconfiguration.

Nauwi sa loop ang transparent content negotiation: ang piniling variant mismo ay naka-configure na mag-negotiate. Nagpapahiwatig ng server configuration error.

RFC 2295 ↗
507

Hindi Sapat na Storage

Ang server ay walang espasyo sa disk.

Orihinal na partikular sa WebDAV ngunit minsan ginagamit ng mga pangkalahatang server. Ibig sabihin, hindi ma-save ng server ang request dahil sa limitasyon sa storage.

RFC 4918 ↗
508

May Natukoy na Loop

Ang server ay nakadetect ng infinite loop habang pinoproseso ang kahilingan.

WebDAV: pumasok sa loop ang pagproseso ng Depth: infinity request (hal. circular bindings). Winakasan ang operasyon.

RFC 5842 ↗
510

Hindi Extended

Kailangan ng karagdagang extension sa request.

Mula sa obsolete na HTTP Extension Framework: kailangan ng server ng karagdagang impormasyon bago matupad ang request. Halos hindi na ginagamit sa modernong web.

RFC 2774 ↗
511

Kinakailangan ang Network Authentication

Ang kliyente ay dapat mag-authenticate upang makakuha ng access sa network.

Ginagamit ng mga captive portals (hotel/airport WiFi) upang ipahiwatig na ang user ay dapat mag-log in sa network bago mag-access sa external sites.

RFC 6585 ↗

Mga karaniwang gamit

  • Reference para sa API DesignKapag nag-design ng REST API, piliin ang tamang status code para sa bawat response.
  • Tukuyin ang Error Code nang MabilisKapag ang iyong app ay nagbabalik ng nakakalito na HTTP error, tingnan ang kung ano talaga ang kahulugan nito.
  • Matuto ng HTTP Status CodeComprehensive reference para sa mga estudyante at developer na nag-aaral ng HTTP at REST.
  • Quick Reference sa Panahon ng IncidentSa panahon ng production incident, mabilis na tingnan kung ano ang kahulugan ng bawat status code.
  • Sanggunian para sa API DocumentationKapag sinusulat ang API documentation, ikonekta sa mapagkakatiwalaang paglalarawan ng mga status codes na iyong ibabalik.

Paano ito Gumagana

Ang tool na ito ay client-side na reference na nakabatay sa hardcoded na lookup table ng 63 HTTP status code sa lahat ng limang klase (1xx–5xx), bawat isa may kasamang numero ng RFC na tumutukoy dito. Walang server call, walang panlabas na API, at walang network request — nangyayari sa browser ang lahat ng pag-filter at pagpapakita gamit ang built-in na array at string method ng JavaScript.

  1. 1
    Nilo-load ang lookup table
    Direktang nakapaloob sa tool na ito ang buong set ng 63 status code na nakarehistro sa IANA bilang JavaScript array, bawat entry may numeric na code, canonical na pangalan sa English, klase ng kategorya, at ang tiyak na RFC na tumutukoy dito (hal. RFC 9110 para sa karamihan ng HTTP/1.1 code, RFC 6585 para sa 429 Too Many Requests, RFC 2324 para sa 418 I'm a Teapot).
  2. 2
    Tumatakbo sa memory ang filter
    Habang nagta-type ka o pumipili ng category filter, tumatakbo ang Array.filter ng JavaScript sa listahang nasa memory, itinutugma ang query mo sa numero ng status code, sa canonical na pangalan, at sa maikli at mahabang paglalarawan gamit ang String.includes — walang debounce delay, walang server round-trip.
  3. 3
    Lumalawak ang mga detalye na may link sa RFC
    Nire-render ang bawat resulta bilang HTML details/summary element. Kapag pinalawak ang isang entry, lumalabas ang mahabang paliwanag at direktang link sa awtoritatibong RFC sa rfc-editor.org, kaya mababasa mo ang eksaktong teksto ng specification para sa anumang code.
  4. 4
    Deep link at pagkopya sa clipboard
    Kapag binuksan ang isang entry, ina-update ang URL hash sa numero ng code (hal. #404), kaya naibabahagi at nabu-bookmark ang pahina. Isinusulat ng copy button ang canonical na string (hal. '404 Not Found') sa clipboard gamit ang navigator.clipboard API ng browser.

Mga Kaugnay na Tool

Mga Madalas na Itanong