Senarai kod status HTTP

Berikut ialah senarai kod status jawapan Protokol Pemindahan Hiperteks (HTTP), termasuklah kod-kod daripada piawai Internet IETF di samping RFC IETF lain, tentuan lain, dan  beberapa kod-kod yang biasa digunakan. Digit pertama bagi kod status meletakkannya dalam satu daripada lima kelas jawapan; sesebuah pelanggan HTTP sekurang-kurangnya kenal akan lima kelas ini. Frasa-frasa yang digunakan ialah contoh piawai, namun apa-apa frasa lain yang dapat dibaca orang boleh dipakai. Jika tidak dinyatakan, kod status adalah sebahagian daripada piawai HTTP/1.1 (RFC 2616).

Internet Assigned Numbers Authority (IANA) menyelenggara daftar rasmi bagi kod-kod status HTTP.

IIS Microsoft kadangkala menambah sub-kod perpuluhan untuk membekalkan maklumat yang lebih terperinci, namun tidak disenaraikan di sini.

1xx Maklumat
Permintaan diterima, meneruskan proses.

Kelas kod status ini menandakan jawapan sementara yang hanya mengandungi baris status serta pengepala-pengepala tak wajib, dan diakhiri oleh baris kosong. Kerana HTTP/1.0 tidak mentakrifkan sebarang kod status 1xxx, pelayan mestilah tidak menghantar jawapan 1xx kepada pelanggan HTTP/1.0 melainkan untuk ujikaji.

100 Continue
 Ini bermakna pelayan telah menerima pengepala permintaan, dan pelanggan patut teruskan penghantaran badan permintaan (dalam kes badan permintaan perlu dihantar; contohnya, permintaan POST). Jika badan permintaan besar, menghantarnya kepada pelayan apabila permintaan telah ditolak kerana pengepala yang tak sesuai adalah sia-sia. Jika mahu pelayan supaya memeriksa samada permintaan boleh diterima berasaskan pengepala permintaan sahaja, pelanggan mesti menghatar Expect: 100-continue sebagai pengepala dalam permintaan asalnya dan memeriksa samada kod status 100 Continue diterima sebagai jawapan sebelum meneruskan (atau menerima 417 Expectation Failed dan jangan teruskan).
101 Switching Protocols
 Ini bermakna peminta ingin pelayan untuk menukar protokol dan pelayan akan mematuhinya.
102 Processing (WebDAV; RFC 2518)
 Kerana permintaan WebDAV mungkin mengandungi banyak sub-permintaan yang melibatkan pengendalian fail, masa yang lama mungkin diambil untuk menyiapkan permintaan. Kod ini menandakan bahawa pelayan telah menerima dan sedang memproses permintaan pelanggan, namun belum ada jawapan. Ini menghalang pelanggan daripada menamatkan masa dan menganggap bahawa permintaan telah hilang.

2xx Berjaya
Kelas kod status ini menandakan bahawa tindakan yang diminta oleh pelanggan telah diterima, difahami, disahkan dan diproses dengan jayanya.

200 OK
 Jawapan piawai bagi permintaan HTTP yang berjaya. Jawapan sebenar bergantung pada kaedah permintaan yang digunakan. Dalam permintaan GET, jawapannya ada entiti yang sepadan dengan sumber yang diminta. Dalam permintaan POST pula, ia ada entiti yang memerihalkan atau mengandungi hasil bagi tindakan yang telah dibuat.
201 Created
 Permintaan telah ditunaikan dan hasilnya satu sumber baharu telah dicipta.
202 Accepted
 Permintaan telah diterima untuk diproses, tapi proses belum selesai. Tindakan mungkin akan dibuat keatas permintaan atau sebaliknya, kerana ia mungkin ditolak semasa proses berlaku.
203 Non-Authoritative Information (since HTTP/1.1)
 Pelayan telah memproses permintaan dengan jayanya, tapi memulangkan jawapan yang mungkin daripada sumber lain.
204 No Content
 Pelayan telah memproses permintaan dengan jayanya, tapi tidak memulangkan sebarang kandungan.
205 Reset Content
 Pelayan telah memproses permintaan dengan jayanya, tapi tidak memulangkan sebarang kandungan. Berlainan dengan jawapan 204, jawapan ini memerlukan si peminta menset semula paparan dokumennya.
206 Partial Content
 Pelayan hanya menghantar sebahagian daripada sumber berikutan pengepala julat (range header) yang dihantar oleh pelanggan. Pengepala julat digunakan oleh alat seperti wget demi membolehkan muat turun yang terganggu diteruskan, atau memisahkan muat turun kepada beberapa strim serentak.
207 Multi-Status (WebDAV; RFC 4918)
 Badan mesej ialah mesej XML dan boleh mengandungi beberapa kod jawapan berasingan, bergantung dengan bilangan sub-permintaan yang telah dibuat.
208 Already Reported (WebDAV; RFC 5842)
 Ahli-ahli ikatan DAV telah diangkakan dalam jawapan sebelum permintaan ini, dan tidak disertakan lagi.
226 IM Used (RFC 3229)
 Pelayan telah menunaikan permintaan GET untuk sumber, dan jawapan ialah wakil hasil satu atau lebih pengolahan tika (instance) yang diguna keatas tika semasa.

3xx Penghalaan semula
Pelanggan mesti mengambil tindakan tambahan untuk melengkapkan permintaan.

Kelas kod status ini menandakan bahawa tindakan selanjutnya perlu diambil oleh agen pengguna untuk menunaikan permintaan. Tindakan yang diperlukan boleh dilakukan oleh agen pengguna tanpa interaksi dengan pengguna jika dan hanya jika kaedah yang diguna dalam permintaan kedua ialah GET atau HEAD. Agen pengguna tidak seharusnya menghalakan semula sesebuah permintaan secara automatik lebih daripada lima kali, kerana penghalaan semula sebegitu selalunya bermakna gelung tak terhingga.

300 Multiple Choices
 Menandakan lebih daripada satu opsyen untuk sumber yang pelanggan boleh ikuti. Ia, sebagai contoh, boleh digunakan untuk mempersembahkan opsyen format berbaza untuk video, menyenarai fail yang berlainan sambungan, atau penyahtaksaan maksud perkataan.
301 Moved Permanently
 Permintaan ini dan di masa hadapan akan dihalakan ke URI yang diberi.
302 Found
 Ini ialah contoh amalan industri yang tidak mengikut piawai. Tentuan HTTP/1.0 (RFC 1945) memerlukan pelanggan untuk melakukan penghalaan semula sementara (frasa pemerihal yang asal ialah Moved Temporarily, bermaksud "Dipindahkan Sementara"), namun pelayar-pelayar web popular melaksana 302 dengan kefungsian 303 See Other. Oleh itu, HTTP/1.1 menambah kod status 303 dan 307 untuk membezakan antara kedua-dua perilaku. Pun begitu, sesetengah aplikasi serta rangka kerja Web menggunakan kod status 302 seakan-akan 303.
303 See Other (sejak HTTP/1.1)
 Jawapan kepada permintaan boleh ditemukan di bawah URI lain menggunakan kaedah GET. Apabila diterima dalam jawapan kepada POST (atau PUT/DELETE), patut dianggap bahawa pelayan telah menerima data dan penghalaan semula patut diisukan bersama mesej GET yang berasingan.
304 Not Modified
 Menandakan bahawa sumber tidak diubah suai semenjak versi yang dinyatakan oleh pengepala permintaan If-Modified-Since atau If-Match. Ini bermakna bahawa sumber tidak perlu dipindahkan semula kerana pelanggan masih memiliki salinan yang dimuat turun sebelumnya.
305 Use Proxy (sejak HTTP/1.1)
Sumber yang diminta hanya ada menerusi proksi, yang alamatnya disediakan dalam jawapan. Kebanyakan pelanggan HTTP (seperti Mozilla dan Internet Explorer) tidak mengendalikan jawapan-jawaban berstatus kod ini dengan betul, khususnya atas sebab keselamatan.
306 Switch Proxy
 Tidak lagi diguna. Asalnya bermaksud "Permintaan berikutan patut menggunakan proksi yang dinyatakan." 
307 Temporary Redirect (sejak HTTP/1.1)
 Dalam kes ini, permintaan patut diulang dengan URI lain; namun, permintaan di masa hadapan patut masih menggunakan URI yang asal. Berlawanan dengan cara 302 dulunya dilaksanakan, kaedah permintaan tidak dibenarkan diubah apabila mengisukan semula permintaan yang asal. Misalnya, permintaan POST patut diulang dengan permintaan POST baharu.
308 Permanent Redirect (diluluskan sebagai RFC eksperimen)
 Permintaan sekarang dan di masa hadapan patut diulang menggunakan URI lain. 307 dan 308 (seperti yang diusulkan) selari dengan perilaku 302 dan 301, namun tidak membenarkan kaedah HTTP ditukar. Jadi, sebagai contoh, penghantaran form ke sumber yang dihalakan semula secara kekal mungkin berjalan dengan lancar.

4xx Ralat pelanggan
Kelas kod status 4xx disediakan untuk kes-kes apabila terdapat ralat pada pelanggan. Melainkan semasa menerima permintaan HEAD, pelayan sepatutnya menyertakan entiti yang mengandungi penerangan keaadaan ralat berkaitan, dan samada ia adalah sementara atau kekal. Kod-kod status ini boleh diguna pakai untuk sebarang kaedah permintaan. Agen pengguna seharusnya memaparkan sebarang entity yang disertakan kepada pengguna.

400 Bad Request
 Permintaan tidak dapat ditunaikan kerana sintaks salah.
401 Unauthorized
 Sama seperti 403 Forbidden, tetapi khusus digunakan apabila pengesahsahihan perlu tetapi gagal atau belum disediakan. Jawapan ini perlu menyertakan medan pengepala WWW-Authenticate mengandungi cabaran yang boleh dipakai ke atas sumber yang diminta. Lihat Pengesahsahihan capaian asas (Basic access authentication) dan Pengesahsahihan capaian cerna (Digest access authentication).
402 Payment Required
 Disimpan untuk kegunaan mendatang. Pada mulanya kod ini ingin digunakan sebagai sebahagian daripada bentuk wang digital atau skim mikropembayaran, tetapi belum berlaku, dan kod ini tidak selalu diguna. YouTube, sebagai contoh, menggunakan status ini jika alamat IP tertentu membuat permintaan berlebihan, dan memerlukan orang tersebut supaya memasukkan CAPTCHA.
403 Forbidden
 Permintaan adalah sah, tapi pelayan menolak untuk memberi jawapan. Tidak seperti jawapan 401 Unauthorized, pengesahsahihan tidak mendatangkan kesan apa-apa. Pada pelayan yang memerlukan pengesahan, biasanya ini bermakna bahawa kelayakan yang diberi telah disahsahihkan namun kelayakan tersebut belum memberikan kebenaran untuk mencapai sumber yang dimahu (contohnya seorang pengguna cuba untuk mencapai kandungan terbatas).
404 Not Found
 Sumber yang diminta tidak ditemukan tapi mungkin akan ada di masa mendatang. Permintaan berikutan oleh pelanggan adalah dibenarkan.
405 Method Not Allowed
 Permintaan keatas sesuatu sumber telah dibuat menggunakan kaedah permintaan yang tidak disokong oleh sumber berkenaan; contohnya menggunakan GET pada form yang memerlukan data dipersembahkan menerusi POST, atau menggunakan PUT pada sumber baca sahaja.
406 Not Acceptable
 Sumber yang diminta hanya mampu menjana kandungan yang tidak boleh diterima mengikut pengepala Accept dalam permintaan.
407 Proxy Authentication Required
Pelanggan perlu terlebih dahulu mengesahkan dirinya dengan proksi.
408 Request Timeout
 Pelayan menamatkan masa menunggu permintaan. Menurut tentuan HTTP W3: "Pelanggan tidak membuat sebarang permintaan sepanjang tempoh pelayan dalam keadaan sedia menunggu. Pelanggan boleh mengulang permintaan itu tanpa sebarang pengubahsuaian pada masa lain."
409 Conflict
 Menandatakan bahawa permintaan tidak dapat diproses kerana percanggahan dalam permintaan, misalnya percanggahan suntingan.
410 Gone
 Menandakan bahawa sumber yang diminta sudah tiada dan tidak akan ada lagi. Ini patut digunakan jika sesuatu sumber telah dibuang dengan sengaja dan sumber tersebut patut disingkirkan. Apabila mendapat kod status 410, pelanggan tidak seharusnya meminta sumber itu lagi pada masa akan datang. Pelanggan seperti enjin gelintar patut membuang sumber begini daripada indeks-indeksnya. Kebanyakan use case tidak memerlukan pelanggan dan enjin gelintar supaya menyingkir sumber, sebaliknya, "404 Not Found" boleh digunakan.
411 Length Required
 Permintaan tidak menyatakan panjang kandungan yang diperlukan oleh sumber yang diminta.
412 Precondition Failed
 Pelayan tidak menepati salah satu daripada prasyarat yang diletakkan pada permintaan oleh si peminta.
413 Request Entity Too Large
 Permintaan lebih besar daripada yang sanggup atau boleh diproses oleh pelayan.
414 Request-URI Too Long
 URI yang diberi terlalu panjang untuk diproses oleh pelayan.
415 Unsupported Media Type
 Entiti permintaan mempunyai jenis media yang tidak disokong oleh pelayan atau sumber.  Contohnya, pelanggan memuat naik imej sebagai image/svg+xml, tapi pelayan memerlukan imej itu menggunakan format lain.
416 Requested Range Not Satisfiable
 Pelanggan mahukan sebahagian daripada fail, tapi pelayan tidak dapat membekalkannya. Sebagai contoh, andai pelanggan mahukan bahagian fail yang letaknya melebihi hujung fail.
417 Expectation Failed
 Pelayan tidak dapat menepati syarat medan pengepala permintaan Expect.
420 Enhance Your Calm (Twitter)
 Bukan sebahagian daripada piawai HTTP, tetapi dipulangkan oleh Twitter Search dan API Trends apabila pelanggan dihadkadarkan (rate limit). Perkhidmatan lain juga boleh memakai kod jawapan 429 Too Many Requests.
422 Unprocessable Entity (WebDAV; RFC 4918)
 Permintaan adalah terbentuk rapi namun tidak dapat diikut kerana ralat semantik.
423 Locked (WebDAV; RFC 4918)
 Sumber yang dicapai terkunci.
424 Failed Dependency (WebDAV; RFC 4918)
 Permintaan gagal kerana permintaan sebelumnya gagal (contohnya PROPPATCH).
424 Method Failure (WebDAV)
 Menandakan bahawa kaedah tidak dilakukan pada sumber tertentu dalam skopnya kerana sebahagian daripada pelakuan kaedah tersebut gagal lantas keseluruhan kaedah dibantutkan.

425 Unordered Collection (Internet draft)
 Ditakrifkan dalam draf "WebDAV Advanced Collections Protocol", but not present in "Web Distributed Authoring and Versioning (WebDAV) Ordered Collections Protocol".

426 Upgrade Required (RFC 2817)
 Pelanggan harus menggunakan protoko lain misalnya TLS/1.0.

428 Precondition Required (RFC 6585)
Pelayan asalan memerlukan permintaan yang bersyarat. Bertujuan untuk mengelakkan masalah 'lost update', di mana pelanggan GET keadaan sesebuah sumber, mengubahsuainya, dan PUT-kannya kembali kepada pelayan, apabila pada masa yang sama, pihak ketiga telah mengubah suai keadaannya pada pelanggan, lantas terjadi percanggahan.

429 Too Many Requests (RFC 6585)
Pengguna telah menghantar terlalu banyak permintaan dalam tempoh masa yang diberikan. Bertujuan untuk diguna bersama skema pengehadan kadar.

431 Request Header Fields Too Large (RFC 6585)
Pelayan tidak mahu memproses permintaan kerana satu medan pengepala atau keseluruhan medan pengepala, adalah terlalu besar.

444 No Response (Nginx)
Digunakan dalam log Nginx untuk menandakan bahawa pelayan tidak memulangkan maklumat kepada pelanggan dan menutup sambungan (berguna untuk pencegahan perisian jahat).

449 Retry With (Microsoft)
 Sambungan Microsoft. Permintaan patut dicuba semula selepas membuat tindakan yang sesuai.
 Selalunya enjin gelintar atau aplikasi tempahan akan mengendahkan parameter yang diperlukan. Apabila tiada tindakan lalai yang sesuai, tapak web Aviongoo menghantar "HTTP/1.1 449 Retry with valid parameters: param1, param2, . . .". Aplikasi yang terlibat boleh memilih samada peduli atau tidak.
450 Blocked by Windows Parental Controls (Microsoft)
 Sambungan Microsoft. Ralat ini diberi apabila Windows Parental Controls dihidupkan dan menyekat capaian ke laman web yang tertentu.
451 Unavailable For Legal Reasons (Internet draft)
 Ditakrifkan dalam draf Internet "A New HTTP Status Code for Legally-restricted Resources". Bertujuan untuk digunakan apabila capaian ke sumber dinafikan atas sebab undang-undang, contohnya tapisan atau sekatan capaian yang dimandatkan oleh kerajaan. Rujukan kepada novel distopia 1953 berjudul Fahrenheit 451, di mana buku diharamkan.

451 Redirect (Microsoft)
Digunakan dalam Exchange ActiveSync jika terdapat pelayan yang lebih bagus untuk diguna atau pelayan tidak dapat mencapai kotak mail pengguna.
 Pelanggan sepatutnya menjalankan semula protokol Autodiscovery HTTP untuk menemukan pelanggan yang lebih sesuai.

494 Request Header Too Large (Nginx)
Kod dalaman Nginx yang serupa dengan 431 tetapi lebih awal diperkenalkan.

495 Cert Error (Nginx)
Kod dalaman Nginx yang digunakan apabila ralat kelayakan pelanggan SSL terjadi untuk membezakannya dengan 4XX dalam log dan penghalaan semula laman ralat.

496 No Cert (Nginx)
Kod dalaman Nginx yang digunakan apabila pelanggan tidak membekalkan kelayakan untuk membezakannya dengan 4XX dalam log dan penghalaan semula laman ralat.

497 HTTP to HTTPS (Nginx)
Kod dalaman Nginx yang digunakan untuk permintaan HTTP polos yang dihantar ke port HTTPS untuk membezakannya dengan 4XX dalam log dan penghalaan semula laman ralat.

499 Client Closed Request (Nginx)
Digunakan dalam log Nginx untuk menandakan bila sambungan ditutup oleh pelanggan sementara pelayan masih memproses permintaannya, lantas pelayan tidak dapat memulangkan kod status kepada pelanggan.

5xx Ralat pelayan
Pelayan gagal menunaikan permintaan yang sepatutnya sah.

Kod status jawapan yang bermula dengan "5" menandakan kes-kes di mana pelayan sedar bahawa adanya ralat atau tidak mampu menunaikan permintaan. Selain daripada permintaan HEAD, pelayan patut menyertakan entiti yang mengandungi penerangan tentang ralat yang berlaku, dan menandakan sama ada ia sementara atau kekal. Agen pengguna pula patut memaparkan kepada pengguna sebarang entiti yang disertakan. Kod-kod jawapan ini boleh dipakai untuk mana-mana kaedah permintaan.

500 Internal Server Error
 Pesanan ralat umum, diberi apabila tiada lagi pesanan khusus yang sesuai.
501 Not Implemented
 Pelayan samada tidak mengenalpasti kaedah permintaan, atau tidak mampu menunaikan permintaan.
502 Bad Gateway
 Pelayan bertindak sebagai get laluan atau proksi dan menerima jawapan yang tidak sah daripada pelayan huluan.
503 Service Unavailable
 Pelayan sedang tidak tersedia (kerana terlebih muatan atau dihentikan untuk diselenggara). Biasanya, keadaan ini sementara.
504 Gateway Timeout
 Pelayan bertindak sebagai get laluan atau proksi dan tidak mendapat sebarang jawapan yang tepat masa daripada pelayan huluan.
505 HTTP Version Not Supported
 Pelayan tidak menyokong versi protokol HTTP yang digunakan dalam permintaan.
506 Variant Also Negotiates (RFC 2295)
 Rundingan kandungan ketara bagi hasil permintaan dalam rujukan bulatan.
507 Insufficient Storage (WebDAV; RFC 4918)
 Pelayan tidak mampu menyimpan perwakilan yang diperlukan untuk menyempurnakan permintaan.
508 Loop Detected (WebDAV; RFC 5842)
 Pelayan mengesan gelung tak terhingga semasa memproses permintaan (dihantar menggantikan 208).
509 Bandwidth Limit Exceeded (Apache bw/sambungan terhad)
 Kod status ini walau diguna oleh banyak pelayan, namun tidak dinyakatan dalam mana-mana RFC.
510 Not Extended (RFC 2774)
 Sambungan seterusnya kepada permintaan diperlukan supaya pelayan dapat menunaikannya.
511 Network Authentication Required (RFC 6585)
 Pelanggan perlu disahsahihkan sebelum mendapat capaian rangkaian. Bertujuan untuk diguna oleh proksi pemintas bagi mengawal capaian rangkaian (contoh: portal tawan diguna untuk mendapat persetujuan Terma Perkhidmatan sebelum meberikan capaian Internet penuh menerusi kawasan Wi-Fi).
598 Network read timeout error (Entah)
 Kod status ini tidak dinyatakan dalam mana-mana RFC, tetapi diguna oleh proksi-proksi HTTP Microsoft bagi mengisyaratkan masa baca rangkaian tamat di belakang proksi kepada pelanggan di hadapan proksi.
599 Network connect timeout error (Entah)
 Kod status ini tidak dinyatakan dalam mana-mana RFC, tetapi diguna oleh proksi-proksi HTTP Microsoft bagi mengisyaratkan masa sambung rangkaian tamat di belakang proksi kepada pelanggan di hadapan proksi.

Lihat juga
  Laman ralat tempahan
 Serarai kod pulangan pelayan FTP
 Senarai pengepala HTTP

Rujukan

Pautan luar
  Hypertext Transfer Protocol (HTTP) Status Code Registry
 Hypertext Transfer Protocol – HTTP/1.1, Status Code Definitions
 Microsoft Knowledge Base: MSKB943891: The HTTP status codes in IIS 7.0
 Google Help: HTTP status codes
 Help for HTTP errors 
 Test any HTTP status code in a web browser

 
HTTP