Kode Status HTTP
Semua kode status HTTP dijelaskan dengan bahasa sederhana: artinya, penyebab umum, cara memperbaikinya, contoh respons, dan RFC yang mendefinisikannya.
70 kode status
1xx Informasi
Respons sementara: permintaan sudah diterima dan pemrosesan berlanjut.
100 Continue Lanjutkan Server sudah menerima header permintaan dan klien boleh mengirim body. Ini respons sementara yang dikirim sebelum status akhir. 101 Switching Protocols Berganti Protokol Server setuju beralih ke protokol yang diminta klien di header Upgrade, paling sering WebSocket. Setelah respons ini koneksi memakai protokol baru. 102 Processing Sedang Diproses Respons sementara WebDAV yang memberi tahu klien bahwa server masih mengerjakan permintaan panjang, jadi klien jangan dulu timeout. Sudah usang dan jarang dikirim sekarang. 103 Early Hints Petunjuk Awal Respons sementara yang mengirim header Link lebih awal agar browser bisa memuat CSS, font, atau terhubung ke origin lebih dulu selagi server masih menyusun halaman akhir.
2xx Berhasil
Permintaan diterima, dipahami, dan disetujui.
200 OK OK Permintaan berhasil. Untuk GET, body berisi resource; untuk POST, body berisi hasil tindakan. 201 Created Dibuat Permintaan berhasil dan membuat resource baru. Header Location biasanya menunjuk ke resource itu. 202 Accepted Diterima Permintaan diterima untuk diproses, tetapi pemrosesannya belum selesai. Hasilnya belum diketahui saat respons dikirim. 203 Non-Authoritative Information Informasi Tidak Otoritatif Permintaan berhasil, tetapi proxy pengubah memodifikasi isi dari respons 200 server asal. 204 No Content Tanpa Konten Permintaan berhasil dan tidak ada body yang dikembalikan. Header masih bisa membawa metadata seperti ETag baru. 205 Reset Content Atur Ulang Konten Permintaan berhasil dan klien sebaiknya mengatur ulang tampilan dokumen, misalnya mengosongkan formulir yang dikirim. Tidak ada body yang dikirim. 206 Partial Content Konten Sebagian Server hanya mengembalikan sebagian resource, sesuai permintaan header Range. Content-Range menyebutkan byte mana yang disertakan. 207 Multi-Status Multi-Status Respons WebDAV yang body XML-nya memuat status terpisah untuk setiap resource yang terpengaruh oleh satu permintaan. 208 Already Reported Sudah Dilaporkan Dipakai di dalam body WebDAV 207 untuk menyatakan bahwa sebuah resource sudah tercantum sebelumnya dalam respons, mencegah duplikat saat binding membentuk loop. 226 IM Used IM Digunakan Server memenuhi GET dengan menerapkan satu atau beberapa manipulasi instance (delta encoding), sehingga body berupa selisih, bukan resource lengkap.
3xx Pengalihan
Klien perlu melakukan satu langkah lagi, biasanya mengikuti URL baru.
300 Multiple Choices Banyak Pilihan Resource punya beberapa representasi (bahasa, format) dan klien atau pengguna harus memilih satu. Server bisa menyarankan pilihan utama lewat Location. 301 Moved Permanently Dipindahkan Permanen Resource telah dipindahkan secara permanen ke URL di Location. Klien dan mesin pencari sebaiknya memakai URL baru mulai sekarang. 302 Found Ditemukan Resource untuk sementara berada di URL lain. Klien sebaiknya tetap memakai URL asli untuk permintaan berikutnya. 303 See Other Lihat Lainnya Server mengarahkan klien untuk mengambil URL lain dengan GET, biasanya untuk menampilkan hasil sebuah POST. 304 Not Modified Tidak Diubah Salinan cache yang dimiliki klien masih valid, jadi server tidak mengirim body. Ini jawaban atas permintaan bersyarat dengan If-None-Match atau If-Modified-Since. 305 Use Proxy Gunakan Proxy Usang. Dulu menyuruh klien mengulang permintaan lewat proxy di Location. Browser mengabaikannya demi keamanan. 307 Temporary Redirect Pengalihan Sementara Resource untuk sementara berada di URL lain, dan klien harus mengulang permintaan di sana dengan metode dan body yang sama. 308 Permanent Redirect Pengalihan Permanen Resource telah dipindahkan secara permanen, dan klien harus mengulang permintaan di URL baru dengan metode dan body yang sama.
4xx Kesalahan klien
Permintaan bermasalah dan perlu diperbaiki oleh klien.
400 Bad Request Permintaan Buruk Server tidak bisa memproses permintaan karena formatnya salah: sintaks tidak valid, framing buruk, atau nilai yang tidak bisa di-parsing. 401 Unauthorized Tidak Terautentikasi Permintaan tidak memiliki kredensial autentikasi yang valid. Meski namanya Unauthorized, artinya belum terautentikasi: login atau kirim token yang valid. 402 Payment Required Pembayaran Diperlukan Dicadangkan untuk masa depan, tetapi dalam praktiknya layanan mengembalikannya saat pembayaran atau paket berbayar diperlukan untuk melanjutkan. 403 Forbidden Dilarang Server memahami permintaan tetapi menolak memberi otorisasi. Login ulang tidak akan membantu kecuali izinnya berubah. 404 Not Found Tidak Ditemukan Server tidak menemukan apa pun di URL yang diminta. Ini tidak mengatakan apakah resource pernah ada atau akan kembali. 405 Method Not Allowed Metode Tidak Diizinkan URL ada tetapi tidak mendukung metode HTTP yang dipakai. Header Allow mencantumkan metode yang berfungsi. 406 Not Acceptable Tidak Dapat Diterima Server tidak bisa menghasilkan respons dalam format apa pun yang diizinkan header Accept klien. 407 Proxy Authentication Required Autentikasi Proxy Diperlukan Proxy di antara klien dan server mewajibkan autentikasi sebelum meneruskan permintaan. 408 Request Timeout Waktu Permintaan Habis Server menutup koneksi karena klien tidak mengirim permintaan lengkap tepat waktu. 409 Conflict Konflik Permintaan bertentangan dengan status resource saat ini, seperti duplikat atau suntingan bersamaan. 410 Gone Hilang Resource sudah hilang permanen dan tidak ada alamat baru yang diketahui. Berbeda dari 404, server menyatakannya dengan sengaja. 411 Length Required Panjang Diperlukan Server mewajibkan header Content-Length dan permintaan tidak menyertakannya. 412 Precondition Failed Prasyarat Gagal Prasyarat di header permintaan, seperti If-Match atau If-Unmodified-Since, bernilai salah, sehingga server tidak menerapkan permintaan. 413 Content Too Large Konten Terlalu Besar Body permintaan lebih besar dari yang mau atau mampu diproses server. Dulu disebut Payload Too Large. 414 URI Too Long URI Terlalu Panjang URL permintaan lebih panjang dari yang mau ditafsirkan server. 415 Unsupported Media Type Tipe Media Tidak Didukung Server menolak permintaan karena tipe media body (Content-Type) atau encoding-nya tidak didukung. 416 Range Not Satisfiable Range Tidak Dapat Dipenuhi Header Range meminta byte di luar ukuran resource. 417 Expectation Failed Ekspektasi Gagal Server tidak bisa memenuhi syarat di header Expect permintaan, biasanya Expect: 100-continue. 418 I'm a teapot Saya Teko Teh Lelucon April Mop dari Hyper Text Coffee Pot Control Protocol: server adalah teko teh dan menolak menyeduh kopi. Beberapa situs memakainya sebagai lelucon atau untuk memblokir bot. 421 Misdirected Request Permintaan Salah Arah Permintaan sampai ke server yang tidak dikonfigurasi untuk menjawab host tersebut, sering karena koneksi HTTP/2 dipakai ulang untuk domain lain. 422 Unprocessable Content Konten Tidak Dapat Diproses Permintaan berformat benar tetapi mengandung kesalahan semantik, sehingga server tidak bisa memprosesnya. Dulu Unprocessable Entity. 423 Locked Terkunci WebDAV: resource terkunci, sehingga metode tidak bisa diterapkan. 424 Failed Dependency Dependensi Gagal WebDAV: tindakan gagal karena bergantung pada tindakan lain dalam permintaan yang sama yang gagal. 425 Too Early Terlalu Dini Server menolak memproses permintaan yang dikirim sebagai early data TLS 1.3 (0-RTT) karena bisa diputar ulang. 426 Upgrade Required Upgrade Diperlukan Server menolak permintaan dengan protokol saat ini dan meminta klien meng-upgrade, misalnya ke TLS atau HTTP/2, sesuai header Upgrade. 428 Precondition Required Prasyarat Diperlukan Server mewajibkan permintaan bersyarat (If-Match dan sejenisnya) untuk mencegah pembaruan yang hilang. 429 Too Many Requests Terlalu Banyak Permintaan Klien mengirim terlalu banyak permintaan dalam waktu tertentu (rate limiting). Retry-After bisa memberi tahu berapa lama harus menunggu. 431 Request Header Fields Too Large Field Header Permintaan Terlalu Besar Header permintaan terlalu besar, baik satu header maupun semuanya secara keseluruhan. 451 Unavailable For Legal Reasons Tidak Tersedia karena Alasan Hukum Server tidak bisa menyediakan resource karena alasan hukum, seperti perintah pengadilan atau sensor pemerintah. Angkanya merujuk pada Fahrenheit 451. 499 Client Closed Request (Nonstandar) Klien Menutup Permintaan nginx mencatat 499 saat klien menutup koneksi sebelum server mengirim respons. Klien tidak pernah melihat kode ini.
5xx Kesalahan server
Server gagal memenuhi permintaan yang valid.
500 Internal Server Error Kesalahan Server Internal Server mengalami kondisi tak terduga dan tidak bisa menyelesaikan permintaan. Ini kode umum untuk error di sisi server. 501 Not Implemented Tidak Diimplementasikan Server tidak mendukung fungsionalitas yang dibutuhkan, biasanya metode permintaan itu sendiri. 502 Bad Gateway Gateway Buruk Gateway atau proxy menerima respons tidak valid dari server upstream tempat permintaan diteruskan. 503 Service Unavailable Layanan Tidak Tersedia Server untuk sementara tidak bisa menangani permintaan karena kelebihan beban atau pemeliharaan. Retry-After bisa memberi tahu kapan mencoba lagi. 504 Gateway Timeout Gateway Timeout Gateway atau proxy tidak menerima respons tepat waktu dari server upstream. 505 HTTP Version Not Supported Versi HTTP Tidak Didukung Server tidak mendukung versi HTTP yang dipakai dalam permintaan. 506 Variant Also Negotiates Varian Juga Bernegosiasi Negosiasi konten transparan salah konfigurasi: varian yang dipilih juga diatur untuk bernegosiasi, sehingga membentuk loop. 507 Insufficient Storage Penyimpanan Tidak Cukup Server tidak bisa menyimpan representasi yang dibutuhkan untuk menyelesaikan permintaan (ruang disk atau kuota habis). Berasal dari WebDAV. 508 Loop Detected Loop Terdeteksi Server mendeteksi loop tak berujung saat memproses permintaan dengan Depth: infinity (WebDAV). Beberapa hosting juga memakainya untuk batas resource. 510 Not Extended Tidak Diperluas Ekstensi tambahan diperlukan agar server bisa memenuhi permintaan (HTTP Extension Framework). Framework ini kini berstatus historis. 511 Network Authentication Required Autentikasi Jaringan Diperlukan Klien harus melakukan autentikasi untuk mendapat akses jaringan, biasanya di captive portal (Wi-Fi hotel atau bandara). 520 Web Server Returned an Unknown Error (Nonstandar) Kesalahan Server Tidak Dikenal Khusus Cloudflare: server asal mengembalikan respons kosong, tidak dikenal, atau tidak terduga. 521 Web Server Is Down (Nonstandar) Server Web Mati Khusus Cloudflare: server asal menolak koneksi. 522 Connection Timed Out (Nonstandar) Koneksi Timeout Khusus Cloudflare: koneksi TCP ke server asal melewati batas waktu. 523 Origin Is Unreachable (Nonstandar) Server Asal Tidak Terjangkau Khusus Cloudflare: Cloudflare tidak bisa menjangkau server asal, biasanya karena masalah DNS atau routing. 524 A Timeout Occurred (Nonstandar) Terjadi Timeout Khusus Cloudflare: koneksi ke server asal berhasil dibuat, tetapi server tidak mengirim respons HTTP tepat waktu (default 100 detik). 525 SSL Handshake Failed (Nonstandar) Handshake SSL Gagal Khusus Cloudflare: handshake TLS antara Cloudflare dan server asal gagal. 526 Invalid SSL Certificate (Nonstandar) Sertifikat SSL Tidak Valid Khusus Cloudflare: dalam mode SSL Full (strict), sertifikat server asal tidak valid, kedaluwarsa, self-signed, atau tidak cocok dengan nama host.