Cari tahu arti kode status HTTP, kapan server mengirimkannya, dan spesifikasi yang menetapkannya. Cari berdasarkan nomor atau kata kunci, filter menurut kelas, dan tautkan langsung ke kode tertentu.
Server telah menerima header permintaan dan klien dapat mengirimkan isi permintaan. Muncul saat klien mengirim “Expect: 100-continue” sebelum mengunggah isi permintaan berukuran besar.
Server telah menerima permintaan WebDAV, tetapi belum menyelesaikannya. Kode ini dihapus dari spesifikasi WebDAV yang lebih baru dan kini jarang digunakan.
Dikirim sebelum respons akhir agar browser dapat mulai memuat awal sumber daya yang tercantum di header Link. Digunakan oleh CDN dan server untuk mempercepat pemuatan halaman.
Permintaan berhasil dan membuat sumber daya baru, yang biasanya ditunjukkan oleh header Location. Umumnya dikirim setelah POST berhasil membuat sebuah data.
Permintaan berhasil dan tidak ada konten yang perlu dikembalikan. Umum digunakan untuk permintaan DELETE dan penyimpanan data saat klien tidak memerlukan isi respons.
Server hanya mengembalikan rentang byte yang diminta klien. Muncul saat video diputar secara streaming, unduhan dilanjutkan, atau klien mengirim header Range.
Sumber daya telah dipindahkan secara permanen ke URL dalam header Location. Browser dan mesin pencari memperbarui tautannya; beberapa klien mengubah POST menjadi GET saat mengikuti pengalihan ini.
Sumber daya untuk sementara berada di URL lain yang tercantum dalam header Location. Umum digunakan setelah login dan untuk pengalihan jangka pendek; browser biasanya mengikutinya dengan GET.
Klien sebaiknya mengambil hasil dari URL lain menggunakan GET. Digunakan setelah POST formulir untuk mengalihkan ke halaman konfirmasi (pola Post/Redirect/Get).
Salinan dalam cache masih valid, jadi server tidak mengirimkan isi respons. Muncul saat browser memvalidasi ulang file dalam cache dengan If-None-Match atau If-Modified-Since.
Resource sementara berada di URL lain, dan klien harus mengulangi permintaan dengan metode dan isi yang sama. Kode ini juga digunakan browser untuk pengalihan internal HSTS ke HTTPS.
Resource telah dipindahkan secara permanen, dan klien harus menggunakan metode dan isi yang sama di URL baru. Ini adalah padanan permanen 307 yang aman untuk mengalihkan permintaan POST.
Permintaan tidak menyertakan kredensial autentikasi yang valid. Meski namanya demikian, kode ini berarti “belum diautentikasi”; server mengirim header WWW-Authenticate yang menjelaskan cara masuk.
Dicadangkan untuk penggunaan mendatang dalam spesifikasi HTTP. Beberapa API dan layanan pembayaran menggunakannya saat pembayaran atau langganan diperlukan.
Server memahami permintaan, tetapi menolaknya. Masuk kembali tidak akan membantu. Kode ini muncul saat izin tidak tersedia, daftar direktori dinonaktifkan, atau firewall memblokir klien.
Resource tersedia, tetapi tidak mendukung metode HTTP yang digunakan, misalnya POST ke URL hanya-baca. Respons mencantumkan metode yang diizinkan dalam header Allow.
Mirip dengan 401, tetapi klien harus terlebih dahulu melakukan autentikasi dengan proxy. Kode ini muncul di jaringan perusahaan yang menggunakan proxy dengan autentikasi.
Resource telah dihapus secara permanen dan tidak akan tersedia lagi. Berbeda dengan 404, kode ini memberi tahu mesin pencari agar lebih cepat menghapus URL tersebut.
Kondisi dalam header permintaan, seperti If-Match, tidak terpenuhi. Kode ini digunakan untuk mencegah penimpaan resource yang telah berubah sejak terakhir kali dibaca klien.
Isi permintaan lebih besar daripada yang dapat diterima server. Kode ini muncul saat mengunggah file yang melewati batas seperti client_max_body_size di nginx.
URL lebih panjang daripada yang dapat diproses server. Biasanya karena formulir mengirim terlalu banyak data dengan GET atau terjadi loop pengalihan yang terus menambahkan parameter.
Lelucon April Mop dari Hyper Text Coffee Pot Control Protocol tahun 1998: teko yang menolak menyeduh kopi. HTTP mencadangkan kode ini agar tidak digunakan, tetapi beberapa server mengembalikannya sebagai kejutan tersembunyi atau untuk menolak bot yang tidak diinginkan.
Format permintaan valid, tetapi isinya tidak valid, misalnya formulir yang gagal memenuhi aturan validasi. Kode ini banyak digunakan API untuk kesalahan validasi.
Klien mengirim terlalu banyak permintaan dalam jangka waktu tertentu. API menggunakannya untuk membatasi laju permintaan dan sering menyertakan header Retry-After yang menunjukkan kapan harus mencoba lagi.
Header permintaan terlalu besar, sering kali karena cookie terlalu banyak atau ukurannya terlalu besar. Menghapus cookie situs biasanya dapat mengatasi masalah ini.
Bukan kode standar. nginx menggunakannya secara internal untuk menutup koneksi tanpa mengirim respons, sering kali untuk membuang lalu lintas yang tidak diinginkan; klien sebenarnya tidak pernah menerimanya.
Bukan kode standar. nginx mencatatnya saat klien menutup koneksi sebelum server merespons, misalnya karena pengguna membatalkan pemuatan halaman yang lambat atau waktu tunggu di sisi klien habis.
Server mengalami kesalahan tak terduga dan tidak dapat menyelesaikan permintaan. Ini adalah kesalahan umum akibat bug, crash, atau konfigurasi yang keliru; detailnya ada di log server.
Gateway atau proxy menerima respons tidak valid dari server upstream. Biasanya terjadi saat aplikasi di balik nginx atau penyeimbang beban mengalami crash atau sedang dimulai ulang.
Server untuk sementara tidak dapat menangani permintaan karena kelebihan beban atau sedang dalam pemeliharaan. Header Retry-After mungkin menunjukkan kapan harus mencoba lagi.
Gateway atau proxy tidak menerima respons dari server upstream tepat waktu. Biasanya terjadi saat permintaan ke backend terlalu lambat, misalnya kueri database yang memakan waktu lama.
Klien harus melakukan autentikasi untuk mendapatkan akses jaringan. Kode ini dikirim oleh portal login Wi-Fi hotel, bandara, atau kafe sebelum Anda masuk.
Bukan kode standar. Cloudflare mengembalikan kode ini saat server asal menolak koneksi, biasanya karena server web sedang tidak aktif atau memblokir alamat IP Cloudflare.
Bukan kode standar. Cloudflare mengembalikan kode ini saat berhasil terhubung ke server asal, tetapi tidak menerima respons HTTP dalam batas waktu yang ditentukan (100 detik secara default).
Bukan kode standar. Cloudflare mengembalikan kode ini saat sertifikat SSL server asal tidak valid dan mode SSL Full (strict) diaktifkan.
Ditetapkan dalam Cloudflare
Cara menggunakan
Ketik nomor kode (seperti 404 atau cukup 5 untuk semua error server) atau kata kunci seperti “redirect” atau “timeout”.
Persempit daftar dengan filter kelas: informasional, sukses, pengalihan, error klien, atau error server.
Gunakan “Salin tautan” pada kode mana pun untuk membagikan tautan langsung ke kode tersebut, misalnya dalam laporan bug.
Cara kerja
Setiap respons HTTP diawali dengan kode status tiga digit. Digit pertama menentukan kelasnya: 1xx respons informasional, 2xx berhasil, 3xx pengalihan, 4xx kesalahan yang disebabkan oleh permintaan, dan 5xx kesalahan di sisi server. Klien yang tidak mengenali kode tertentu akan memperlakukannya seperti kode x00 di kelas yang sama. Jadi, kode 4xx yang tidak dikenal akan ditangani seperti 400.
Kode inti ditetapkan dalam RFC 9110 (HTTP Semantics, 2022), yang menggantikan RFC 7231 versi lama. Kode lainnya berasal dari ekstensi: WebDAV (RFC 4918), RFC 6585 untuk 428, 429, 431, dan 511, RFC 7725 untuk 451, serta RFC 8470 untuk 425. RFC 9110 juga mengganti nama dua kode: 413 kini bernama “Content Too Large” dan 422 “Unprocessable Content”. Anda mungkin masih menjumpai nama lama “Payload Too Large” dan “Unprocessable Entity”.
Beberapa kode yang ditemukan di log sama sekali bukan standar. nginx menggunakan 444 dan 494–499 secara internal (499 menandakan klien berhenti menunggu), sedangkan Cloudflare mengembalikan 520–526 saat tidak bisa mendapatkan respons yang tepat dari server asal. Kode-kode ini ditandai “Non-standard” dalam daftar. Frasa alasan (seperti “Not Found”) ditampilkan dalam bahasa Inggris sesuai spesifikasi; HTTP/2 dan HTTP/3 hanya mengirimkan angkanya.
Contoh
301 atau 308 saat memindahkan situs
Keduanya bersifat permanen. Gunakan 301 untuk pemindahan halaman biasa; gunakan 308 jika klien harus mengulangi permintaan POST atau PUT ke URL baru, karena beberapa klien mengubah POST menjadi GET setelah menerima 301.
401 dan 403
API mengembalikan 401 jika tidak ada token atau token yang dikirim sudah kedaluwarsa, sehingga klien perlu login. API mengembalikan 403 jika token valid tetapi pengguna tidak memiliki izin, sehingga login ulang tidak akan membantu.
Mendiagnosis 502 di balik nginx
502 Bad Gateway dari nginx berarti aplikasi di belakangnya tidak memberikan respons dengan benar. Periksa apakah proses aplikasi berjalan dan apa yang tercatat di log; 504 berarti aplikasi merespons terlalu lambat.
Pertanyaan yang sering diajukan
Apa perbedaan antara 404 dan 410?
404 berarti server tidak dapat menemukan sumber daya dan tidak mengatakan apa pun tentang masa mendatang. 410 berarti sumber daya sengaja dihapus dan tidak akan tersedia lagi, sehingga mesin pencari dapat menghapus URL itu lebih cepat.
Apakah error validasi sebaiknya mengembalikan 400 atau 422?
Keduanya digunakan. 400 cocok untuk permintaan yang tidak dapat diurai oleh server, seperti JSON yang rusak. 422 cocok untuk permintaan yang dapat diurai dengan benar, tetapi berisi nilai tidak valid, seperti kolom email tanpa tanda @.
Apakah 418 I'm a teapot merupakan kode status sungguhan?
Kode ini berasal dari RFC April Mop tahun 1998. RFC 9110 menetapkan 418 sebagai kode yang tidak digunakan agar tidak ditetapkan untuk hal lain. Beberapa server mengembalikannya sebagai lelucon, tetapi kode ini tidak memiliki arti standar.
Dari mana asal kode 499?
499 adalah kode khusus nginx. Kode ini muncul di log nginx saat klien menutup koneksi sebelum server mengirimkan respons. Klien tidak pernah menerima 499; kode ini biasanya menunjukkan respons yang lambat atau timeout di sisi klien.
Apakah mesin pencari menganggap 302 sama seperti 301?
302 menandakan pemindahan sementara, sehingga mesin pencari biasanya tetap mengindeks URL asli pada awalnya. Jika 302 tetap digunakan dalam waktu lama, Google mungkin menganggapnya sebagai pengalihan permanen. Gunakan 301 atau 308 untuk pemindahan permanen.
Privasi
Daftar ini merupakan bagian dari halaman. Pencarian dan pemfilteran dilakukan di browser Anda; istilah pencarian tidak dikirim ke mana pun atau disertakan dalam analitik.