Daftar kode status HTTP

Ini adalah daftar kode status respon Hypertext Transfer Protocol (HTTP). Kode status dikeluarkan oleh peladen sebagai tanggapan atas permintaan klien yang dibuat ke peladen. Ini termasuk kode dari IETF Request for Comments (RFC), spesifikasi lain, dan beberapa kode tambahan yang digunakan dalam beberapa aplikasi umum HTTP. Digit pertama dari kode status menentukan satu dari lima kelas respons standar. Frasa pesan yang ditampilkan adalah tipikal, tetapi segala alternatif yang dapat dibaca manusia mungkin disediakan. Kecuali dinyatakan sebaliknya, kode status adalah bagian dari standar HTTP/1.1 ().

Internet Assigned Numbers Authority (IANA) mengelola pendaftaran resmi kode status HTTP.

Semua kode status respons HTTP dipisahkan menjadi lima kelas atau kategori. Digit pertama dari kode status menentukan kelas respons, sementara dua digit terakhir tidak memiliki peran klasifikasi atau kategorisasi apa pun. Ada lima kelas yang didefinisikan dengan standar:
# *1xx respon informasi* - permintaan diterima, melanjutkan proses
# *2xx sukses*- permintaan berhasil diterima, dipahami, dan diterima
# *3xx pengalihan*- tindakan lebih lanjut perlu diambil untuk menyelesaikan permintaan
# *4xx Klien error*- permintaan berisi sintaksis buruk atau tidak dapat dipenuhi
# *5xx peladen error*- peladen gagal memenuhi permintaan yang tampaknya valid

## 1xx Respon informasi
Respons informasi menunjukkan bahwa permintaan diterima dan dipahami. Ini dikeluarkan secara sementara sementara pemrosesan permintaan berlanjut. Ini memperingatkan klien untuk menunggu tanggapan akhir. Pesan hanya terdiri dari baris status dan bidang tajuk opsional, dan diakhiri oleh baris kosong. Karena standar HTTP/1.0 tidak mendefinisikan kode status 1xx, peladen tidak boleh mengirim respons 1xx  ke klien yang mematuhi HTTP/1.0 kecuali dalam kondisi eksperimental.

; 100 Lanjutkan
: Peladen telah menerima header permintaan dan klien harus melanjutkan untuk mengirim badan permintaan (dalam kasus permintaan yang mana badan perlu dikirim; misalnya, permintaan POST). Mengirim badan permintaan besar ke peladen setelah permintaan ditolak karena tajuk yang tidak pantas akan tidak efisien. Untuk meminta peladen memeriksa header permintaan, klien harus mengirim `Expect: 100-continue` sebagai header dalam permintaan awal dan menerima 100 kode status Lanjutkan sebagai tanggapan sebelum mengirim body. Jika klien menerima kode kesalahan seperti 403 (Terlarang) atau 405 (Metode Tidak Diizinkan) maka klien tidak boleh mengirim body permintaan. Respon `417 Expectation Failed` mengindikasikan bahwa permintaan harus diulang tanpa header Expect karena menunjukkan bahwa peladen tidak mendukung harapan (ini adalah kasus, misalnya, dari peladen HTTP/1.0).
; 101 Beralih Protokol
: Pemohon telah meminta peladen untuk beralih protokol dan peladen telah setuju untuk melakukannya.
; 102 Processing (WebDAV; RFC 2518)
: Permintaan WebDAV dapat berisi banyak sub-permintaan yang melibatkan operasi file, membutuhkan waktu lama untuk menyelesaikan permintaan. Kode ini menunjukkan bahwa peladen telah menerima dan sedang memproses permintaan, tetapi belum ada tanggapan. Ini mencegah klien dari waktu habis dan menganggap permintaan itu hilang.
; 103 Petunjuk Awal ()
: Digunakan untuk mengembalikan beberapa header respons sebelum pesan HTTP final.

## 2xx Sukses
Kelas kode status ini menunjukkan tindakan yang diminta oleh klien telah diterima, dipahami, dan diterima

**200 OK**
: Respon standar untuk permintaan HTTP yang berhasil. Respon aktual akan bergantung pada metode permintaan yang digunakan. Dalam permintaan GET, respons akan berisi entitas yang sesuai dengan sumber daya yang diminta. Dalam permintaan POST, respon akan berisi entitas yang menjelaskan atau berisi hasil tindakan.
**201 Dibuat**
: Permintaan telah terpenuhi, menghasilkan penciptaan sumber daya baru.
**202 Diterima**
: Permintaan telah diterima untuk diproses, tetapi pemrosesan belum selesai. Permintaan mungkin atau mungkin tidak pada akhirnya ditindaklanjuti, dan mungkin tidak diizinkan saat pemrosesan terjadi.
**203** **Informasi Non-Resmi (sejak HTTP/1.1)**
: Peladen adalah proxy pengubah (mis. *[[Web accelerator]]*) yang menerima 200 OK dari asalnya, tetapi mengembalikan versi modifikasi dari respons asal tersebut.
**204 Tanpa Konten**
: Peladen berhasil memproses permintaan, dan tidak kembali dengan konten apa pun.
**205 Setel Ulang Konten**
: Peladen berhasil memroses permintaan, meminta peminta mereset tampilan dokumennya, dan tidak kembali dengan konten apa pun.
**206 Konten Sebagian (RFC 7233)**
: Peladen hanya memberikan sebagian sumber daya (byte serving) karena rentang header yang dikirim oleh klien. Header rentang digunakan oleh klien HTTP untuk mengaktifkan kembali unduhan yang terputus, atau membagi unduhan menjadi beberapa aliran simultan.
**207 Multi-Status (WebDAV; RFC 4918)**
: Badan pesan yang mengikuti secara default adalah pesan XML dan dapat berisi sejumlah kode respons terpisah, tergantung pada berapa banyak sub-permintaan yang dibuat.
**208 Sudah Dilaporkan (WebDAV; RFC 5842)**
: Anggota pengikat DAV telah disebutkan dalam bagian sebelumnya dari respon (multistatus), dan tidak dianggap lagi.
**226 IM Used (RFC 3229)**
: Peladen telah memenuhi permintaan untuk sumber daya, dan responsnya adalah representasi dari hasil dari satu atau lebih manipulasi-instance yang diterapkan pada instance saat ini.

## 3xx Pengalihan
Kelas kode status ini menunjukkan klien harus mengambil tindakan tambahan untuk menyelesaikan permintaan. Banyak dari kode status ini digunakan dalam pengalihan URL.

Agen pengguna dapat melakukan tindakan tambahan tanpa interaksi pengguna hanya jika metode yang digunakan dalam permintaan kedua adalah MENDAPATKAN atau MENGHADAPI. Agen pengguna dapat secara otomatis mengalihkan permintaan. Agen pengguna harus mendeteksi dan mengintervensi untuk mencegah pengalihan siklus.

**300 Pilihan ganda**
: Menunjukkan beberapa opsi untuk sumber dari mana klien dapat memilih (melalui negosiasi konten yang dikendalikan oleh agen). Misalnya, kode ini dapat digunakan untuk menyajikan beberapa opsi format video, untuk mencantumkan file dengan ekstensi nama file yang berbeda, atau untuk menyarankan disambiguasi arti kata.
**[[HTTP 301|301 Dipindahkan Permanen]]**
: Ini dan semua permintaan di masa mendatang harus diarahkan ke URI yang diberikan.
**[[HTTP 302|302 Ditemukan (Sebelumnya"Moved temporarily")]]**
: Memberi tahu klien untuk melihat (menelusuri) URL lain. 302 telah digantikan oleh 303 dan 307. Ini adalah contoh praktik industri yang bertentangan dengan standar. Spesifikasi HTTP / 1.0 () mengharuskan klien untuk melakukan redirect sementara (frasa yang menggambarkan aslinya adalah "Moved Temporarily"), tetapi peramban populer menerapkan 302 dengan fungsi 303 See Other. Karenanya, HTTP / 1.1 menambahkan kode status 303 dan 307 untuk membedakan antara dua perilaku tersebut. Namun, beberapa aplikasi dan kerangka kerja Web menggunakan kode status 302 seolah-olah itu adalah 303.
**[[HTTP 303|303 Lihat Lainnya]] (sejak HTTP/1.1)**
: Respons terhadap permintaan dapat ditemukan di bawah URI lain menggunakan metode GET. Ketika diterima sebagai respons terhadap POST (atau PUT / DELETE), klien harus menganggap bahwa peladen telah menerima data dan harus mengeluarkan permintaan GET baru ke URI yang diberikan.
**304 Tidak dimodifikasi**
: Menunjukkan bahwa sumber daya belum dimodifikasi sejak versi yang ditentukan oleh header permintaan If-Modified-since atau If-None-Match. Dalam kasus seperti itu, tidak perlu mentransmisikan ulang sumber daya karena klien masih memiliki salinan yang diunduh sebelumnya.
**305 Gunakan proxy (sejak HTTP/1.1)**
: Sumber daya yang diminta hanya tersedia melalui proxy, alamat yang disediakan dalam respons. Untuk alasan keamanan, banyak klien HTTP (seperti Mozilla Firefox dan Internet Explorer) tidak mematuhi kode status ini.
**306 Beralih Proksi**
: Tidak lagi digunakan. Awalnya berarti "Permintaan selanjutnya harus menggunakan proksi yang ditentukan."

**307 Pengalihan Sementara (sejak HTTP/1.1)**
: Dalam hal ini, permintaan harus diulangi dengan URI lain; namun, permintaan di masa mendatang harus tetap menggunakan URI asli. Berbeda dengan bagaimana 302 diterapkan secara historis, metode permintaan tidak diizinkan untuk diubah saat menerbitkan kembali permintaan asli. Misalnya, permintaan POST harus diulang menggunakan permintaan POST lain.
**308 Pengalihan Permanen ()**
: Permintaan dan semua permintaan di masa mendatang harus diulang menggunakan URI lain. 307 dan 308 sejajar dengan perilaku 302 dan 301, tetapi *jangan biarkan metode HTTP berubah*. Jadi, misalnya, mengirimkan formulir ke sumber daya yang dialihkan secara permanen dapat berlanjut dengan lancar.

## 4xx Klien error

Kelas kode status ini dimaksudkan untuk situasi di mana kesalahan tampaknya disebabkan oleh klien. Kecuali ketika menanggapi permintaan HEAD, peladen *harus* menyertakan entitas yang berisi penjelasan tentang situasi kesalahan, dan apakah itu kondisi sementara atau permanen. Kode status ini berlaku untuk metode permintaan apa pun. Agen pengguna harus menampilkan entitas apa pun yang disertakan kepada pengguna.

**400 Bad Request**
: Peladen tidak dapat atau tidak akan memproses permintaan karena kesalahan klien yang nyata (mis., Sintaks permintaan salah bentuk, ukuran terlalu besar, pembingkaian pesan permintaan tidak valid, atau perutean permintaan yang menipu).

**401 Tidak diperbolehkan (RFC 7235)**
: Mirip dengan *403 Forbidden*, tetapi khusus untuk digunakan ketika otentikasi diperlukan dan telah gagal atau belum disediakan. Respons harus mencakup bidang tajuk WWW-Otentikasi yang berisi tantangan yang berlaku untuk sumber daya yang diminta. Lihat Basic access authentication dan Digest access authentication. 401 secara semantik berarti "tidak sah", pengguna tidak memiliki kredensial autentikasi yang valid untuk sumber daya target.
**402 Payment Required**
: Digunakan untuk penggunaan di masa mendatang. Maksud awalnya adalah bahwa kode ini dapat digunakan sebagai bagian dari beberapa bentuk uang tunai digital atau skema pembayaran mikro, seperti yang diusulkan, misalnya, oleh GNU Taler, tetapi itu belum terjadi, dan kode ini tidak banyak digunakan. Google Developers API menggunakan status ini jika pengembang tertentu telah melampaui batas harian berdasarkan permintaan. Sipgate menggunakan kode ini jika akun tidak memiliki dana yang cukup untuk memulai panggilan. Shopify menggunakan kode ini ketika toko belum membayar biayanya dan untuk sementara dinonaktifkan. Stripe menggunakan kode ini untuk pembayaran gagal di mana parameternya benar, misalnya pemblokiran pembayaran penipuan .
**[[HTTP 403|403 Terlarang]]**
: Permintaan berisi data yang valid dan dipahami oleh peladen, tetapi peladen menolak tindakan. Ini mungkin disebabkan oleh pengguna yang tidak memiliki izin yang diperlukan untuk sumber daya atau membutuhkan semacam akun, atau mencoba tindakan yang dilarang (mis. Membuat catatan duplikat di mana hanya satu yang diizinkan). Kode ini juga biasanya digunakan jika permintaan menyediakan otentikasi melalui bidang header WWW-Authenticate, tetapi peladen tidak menerima otentikasi itu. Permintaan tidak harus diulang.
**[[HTTP 404|404 Tidak Ditemukan]]**
: Sumber daya yang diminta tidak dapat ditemukan tetapi mungkin tersedia di masa depan. Permintaan selanjutnya oleh klien diizinkan.
**405 Metode Tidak Diizinkan**
: Metode permintaan tidak didukung untuk sumber daya yang diminta; misalnya, permintaan GET pada formulir yang mengharuskan data disajikan melalui POST, atau permintaan PUT pada sumber daya baca-saja.
**406 Tidak dapat diterima**
: Sumber daya yang diminta hanya mampu menghasilkan konten yang tidak dapat diterima sesuai dengan header Terima yang dikirim dalam permintaan. Lihat negosiasi Konten.
**407 Diperlukan Otentikasi Proksi (RFC 7235)**
: Klien harus terlebih dahulu mengotentikasi dirinya dengan proxy.
**408 ''Request Timeout***
: Server Timeout menunggu permintaan. Menurut spesifikasi HTTP: "Klien tidak menghasilkan permintaan dalam waktu yang disiapkan peladen untuk menunggu. Klien MUNGKIN mengulangi permintaan tanpa modifikasi di waktu kemudian.
*'409 Konflik**
: Menunjukkan bahwa permintaan tidak dapat diproses karena konflik dalam kondisi sumber daya saat ini, seperti [[konflik edit]] antara beberapa pembaruan simultan.
**410 Hilang**
: Menunjukkan bahwa sumber daya yang diminta tidak lagi tersedia dan tidak akan tersedia lagi. Ini harus digunakan ketika suatu sumber daya telah sengaja dihapus dan sumber daya itu harus dibersihkan. Setelah menerima kode status 410, klien seharusnya tidak meminta sumber daya di masa depan. Klien seperti mesin pencari harus menghapus sumber daya dari indeks mereka. Sebagian besar kasus penggunaan tidak memerlukan klien dan mesin pencari untuk membersihkan sumber daya, dan "404 Tidak Ditemukan" dapat digunakan sebagai gantinya.
**411 Panjang Diperlukan**
: Permintaan tidak menentukan panjang kontennya, yang diperlukan oleh sumber daya yang diminta.
**412 Precondition Failed (RFC 7232)**
: Peladen tidak memenuhi salah satu prasyarat yang diletakkan pemohon pada bidang header permintaan.
**413 Payload Terlalu Besar (RFC 7231)**
: Permintaan lebih besar dari yang diinginkan atau mampu diproses oleh peladen. Sebelumnya bernama "Permintaan Entitas Terlalu Besar".
**414 URI Terlalu Panjang (RFC 7231)**
: URI yang diberikan terlalu lama untuk diproses oleh peladen. Sering kali hasil dari terlalu banyak data yang dikodekan sebagai string kueri dari permintaan GET, dalam hal ini harus dikonversi menjadi permintaan POST. Disebut "Permintaan-URI Terlalu Panjang" sebelumnya.
**415 Jenis Media yang Tidak Didukung (RFC 7231)**
: Entitas permintaan memiliki jenis media yang tidak didukung peladen atau sumber daya. Sebagai contoh, klien mengunggah gambar sebagai [[Scalable Vector Graphics|gambar / svg + xml]], tetapi peladen mengharuskan gambar menggunakan format yang berbeda.
**416 Range Not Satisfiable (RFC 7233)**
: Klien telah meminta sebagian dari file ([[byte serving]]), tetapi peladen tidak dapat menyediakan bagian itu. Misalnya, jika klien meminta bagian dari file yang berada di luar akhir file. Disebut "Requested Range Not Satisfiable" sebelumnya.
**417 Expectation Failed**
: Peladen tidak dapat memenuhi persyaratan bidang tajuk permintaan Harapkan.
**418 I'm a teapot (RFC 2324, RFC 7168)**
: Kode ini didefinisikan pada tahun 1998 sebagai salah satu lelucon tradisional [[IETF]] [[Hari April Mop Request for Comments|April Mop]], di RFC 2324, ''[[Hyper Text Coffee Pot Control Protocol|Protokol Kontrol Pot Kopi Hiper Teks]]'', dan tidak diharapkan diimplementasikan oleh peladen HTTP yang sebenarnya. RFC menentukan kode ini harus dikembalikan oleh teko yang diminta untuk menyeduh kopi. Status HTTP ini digunakan sebagai [[Easter egg (media)|telur Paskah]] di beberapa situs web, seperti paskah [[Google Search|Google.com's]] [https://www.google.com/teapot I'm a teapot].
**421 Misdirected Request (RFC 7540)**
: Permintaan diarahkan pada peladen yang tidak dapat menghasilkan respons (misalnya karena koneksi digunakan kembali).
;423 Locked (WebDAV; RFC 4918)
: Sumber daya yang sedang diakses terkunci.
**426 Diperlukan Peningkatan**
: Klien harus beralih ke protokol yang berbeda seperti [[Transport Layer Security|TLS/1.0]], yang diberikan di bidang header Upgrade.

== 5xx Kesalahan Peladen ==
[[Server|Peladen]] gagal memenuhi permintaan.

Kode status respons yang dimulai dengan angka "5" menunjukkan kasus-kasus di mana peladen mengetahui bahwa ia telah mengalami kesalahan atau sebaliknya tidak mampu melakukan permintaan. Kecuali ketika menanggapi permintaan HEAD, peladen ''harus'' menyertakan entitas yang berisi penjelasan tentang situasi kesalahan, dan menunjukkan apakah itu kondisi sementara atau permanen. Demikian juga, agen pengguna ''harus'' menampilkan entitas yang disertakan kepada pengguna. Kode respons ini berlaku untuk metode permintaan apa pun.

**500 Kesalahan peladen dalam**
: Pesan kesalahan umum, diberikan ketika kondisi yang tidak terduga ditemukan dan tidak ada pesan yang lebih spesifik yang cocok.
**501 Not Implemented**
: Peladen tidak mengenali metode permintaan, atau tidak memiliki kemampuan untuk memenuhi permintaan. Biasanya ini menyiratkan ketersediaan di masa mendatang (mis., Fitur baru API layanan web).
**502 Bad Gateway**
: Peladen bertindak sebagai [[Gateway (telekomunikasi)|gateway]] atau proxy dan menerima respons yang tidak valid dari peladen hulu.
**503 Service Unavailable**
: Peladen tidak dapat menangani permintaan (karena kelebihan beban atau mati untuk pemeliharaan). Secara umum, ini adalah keadaan sementara.
**504 Gateway Timeout**
: Peladen bertindak sebagai gateway atau proxy dan tidak menerima respons tepat waktu dari peladen hulu.
**505 HTTP Version Not Supported**
: Peladen tidak mendukung versi protokol HTTP yang digunakan dalam permintaan.
**506 Variant Also Negotiates (RFC 2295)**
: Negosiasi konten transparan untuk permintaan menghasilkan referensi melingkar.
**507 Insufficient Storage (WebDAV; RFC 4918)**
: Peladen tidak dapat menyimpan representasi yang diperlukan untuk menyelesaikan permintaan.
**508 Loop Detected (WebDAV; RFC 5842)**
: Peladen mendeteksi pengulangan tak terbatas saat memproses permintaan (dikirim alih-alih [[Daftar kode status HTTP#208 Sudah Dilaporkan|208 Sudah Dilaporkan]])
**510 Not Extended (RFC 2774)**
: Diperlukan ekstensi lebih lanjut untuk permintaan agar peladen memenuhinya.
**511 Network Authentication Required (RFC 6585)**
: Klien perlu mengautentikasi untuk mendapatkan akses jaringan. Dimaksudkan untuk digunakan dengan mencegat proksi yang digunakan untuk mengontrol akses ke jaringan (mis., "[[Captive portal]]" yang digunakan untuk mensyaratkan persetujuan terhadap Ketentuan Layanan sebelum memberikan akses Internet penuh melalui [[Hotspot (Wi-Fi)|hotspot Wi-Fi]]).

== Kode tidak resmi ==
Kode berikut tidak ditentukan oleh standar apa pun.

**530 Site is frozen**
: Digunakan oleh platform web [[Pantheon (perangkat lunak)|Pantheon]] untuk menunjukkan situs yang telah dibekukan karena tidak aktif.
**598 Network read timeout error**
: Digunakan oleh beberapa proksi HTTP untuk memberi sinyal batas waktu baca jaringan di belakang proksi ke klien di depan proksi.

=== Layanan Informasi Internet ===
Peladen web [[Internet Information Services|Layanan Informasi Internet]] (IIS) Microsoft memperluas ruang kesalahan 4xx untuk memberi sinyal kesalahan dengan permintaan klien.

**440 Login Time-out**
: Sesi klien telah kedaluwarsa dan harus masuk lagi.
**449 Retry With**
: Peladen tidak dapat memenuhi permintaan karena pengguna belum memberikan informasi yang diperlukan.
**451 Redirect**
: Digunakan di [[Exchange ActiveSync]] ketika peladen yang lebih efisien tersedia atau peladen tidak dapat mengakses kotak surat pengguna. Klien diharapkan untuk menjalankan kembali operasi HTTP AutoDiscover untuk menemukan peladen yang lebih tepat.

IIS kadang-kadang menggunakan sub-kode desimal tambahan untuk informasi yang lebih spesifik, tetapi sub-kode ini hanya muncul di payload respon dan dalam dokumentasi, bukan di tempat kode status HTTP yang sebenarnya.

=== Cloudflare ===
Layanan reverse proxy Cloudflare memperluas seri ruang kesalahan 5xx untuk memberi sinyal masalah dengan peladen asal.

**520 Web Server Returned an Unknown Error**
: Peladen asal mengembalikan respon kosong, tidak dikenal, atau tidak dijelaskan ke Cloudflare.
**521 Web Server Is Down**
: Peladen asal menolak koneksi dari Cloudflare.
**522 Connection timed out**
: Cloudflare tidak dapat menegosiasikan [[handshake TCP]] dengan peladen asal.
**523 Origin Is Unreachable**
: Cloudflare tidak dapat mencapai peladen asal; misalnya, jika [[catatan DNS]] untuk peladen asal salah.
**524 Terjadi sebuah timeout'''
: Cloudflare mampu menyelesaikan koneksi TCP ke peladen asal, tetapi tidak menerima respons HTTP tepat waktu.

## Catatan

## Referensi

## Pranala luar

*  – Bagian 6, Kode Status Tanggapan
* Registri Kode Status Hypertext Transfer Protocol (HTTP)
* Microsoft Knowledge Base: MSKB943891: Kode status HTTP di IIS 7.0
* Microsoft Office Knowledge Base: Kode Kesalahan 2–11