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).

I

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; )
: 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; )
: Badan mesej ialah mesej XML dan boleh mengandungi beberapa kod jawapan berasingan, bergantung dengan bilangan sub-permintaan yang telah dibuat.
;208 Already Reported (WebDAV; )
: Ahli-ahli ikatan DAV telah diangkakan dalam jawapan sebelum permintaan ini, dan tidak disertakan lagi.
;226 IM Used ()
: 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 () 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; )
: Permintaan adalah terbentuk rapi namun tidak dapat diikut kerana ralat semantik.
;423 Locked (WebDAV; )
: Sumber yang dicapai terkunci.
;424 Failed Dependency (WebDAV; )
: 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 ()
: 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 ()
: Rundingan kandungan ketara bagi hasil permintaan dalam rujukan bulatan.
;507 Insufficient Storage (WebDAV; )
: Pelayan tidak mampu menyimpan perwakilan yang diperlukan untuk menyempurnakan permintaan.
;508 Loop Detected (WebDAV; )
: 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 ()
: 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