Permintaan mengandung error atau tidak bisa dipenuhi: klien sebaiknya mengubah sesuatu sebelum mencoba lagi.
Server tidak bisa memproses permintaan karena formatnya rusak (sintaks salah, JSON tidak valid, cookie terlalu besar…).
Kapan dipakai: Kegagalan validasi yang tidak bisa dijelaskan lebih spesifik; sertakan pesan error di body.
Dampak SEO: Halaman yang mengembalikan 4xx dikeluarkan dari indeks.
Autentikasi diperlukan tapi tidak ada atau tidak valid. Meski namanya “Unauthorized”, artinya “belum terautentikasi”.
Kapan dipakai: Token atau kredensial hilang atau kedaluwarsa. Wajib menyertakan header WWW-Authenticate.
Dampak SEO: Crawler tidak bisa login, jadi halaman di balik 401 tidak diindeks — ini yang kamu mau untuk area privat.
Dicadangkan untuk penggunaan di masa depan; sebagian API memakainya saat pembayaran atau upgrade kuota diperlukan.
Kapan dipakai: Error tagihan non-standar (misalnya langganan sudah habis).
Server memahami permintaan tapi menolak memberi otorisasi. Login ulang tidak akan membantu.
Kapan dipakai: Pengguna sudah login tapi tidak punya izin, atau akses diblokir oleh IP, WAF, atau izin file.
Dampak SEO: Tidak diindeks. Pastikan firewall atau proteksi bot kamu tidak mengembalikan 403 ke Googlebot secara keliru.
Server tidak bisa menemukan resource yang diminta.
Kapan dipakai: URL tidak pernah ada atau dihapus tanpa pengganti. Sediakan halaman 404 kustom yang membantu.
Dampak SEO: Wajar dan tidak berbahaya untuk halaman yang memang tidak ada; Google akan mengeluarkannya seiring waktu. Redirect (301) URL yang punya backlink atau punya pengganti yang jelas.
Metode HTTP tidak didukung untuk URL ini (misalnya POST ke halaman yang hanya bisa dibaca).
Kapan dipakai: Kembalikan dengan header Allow yang berisi daftar metode yang didukung.
Server tidak bisa membuat respons yang sesuai dengan header Accept pada permintaan.
Kapan dipakai: Negosiasi konten yang ketat; banyak API justru mengembalikan format default-nya.
407Proxy Authentication Required
#
Mirip 401, tapi klien harus terautentikasi ke proxy.
Kapan dipakai: Dikirim oleh proxy perusahaan atau forward proxy dengan header Proxy-Authenticate.
Server kehabisan waktu menunggu klien menyelesaikan pengiriman permintaan.
Kapan dipakai: Koneksi yang diam lama atau sangat lambat; klien bisa mencoba lagi.
Permintaan bertentangan dengan kondisi resource saat ini.
Kapan dipakai: Konflik saat edit, kunci unik yang duplikat, atau ketidakcocokan versi pada optimistic locking.
Resource sudah dihapus secara permanen dan tidak akan kembali.
Kapan dipakai: Konten yang sengaja dihapus, iklan atau kampanye yang sudah berakhir.
Dampak SEO: Google memperlakukan 410 seperti 404 tapi bisa mengeluarkan URL sedikit lebih cepat.
Server membutuhkan header Content-Length.
Kapan dipakai: Unggahan tanpa panjang saat chunked encoding tidak diterima.
Kondisi di header permintaan (If-Match, If-Unmodified-Since) bernilai salah.
Kapan dipakai: Concurrency optimistik: tolak update karena resource sudah berubah sejak klien membacanya.
Body permintaan lebih besar dari yang diizinkan server (dulu disebut “Payload Too Large”).
Kapan dipakai: Unggahan file di atas batas — misalnya client_max_body_size di nginx.
URL lebih panjang dari yang bisa diproses server.
Kapan dipakai: Biasanya bug: query string yang sangat panjang atau redirect loop yang terus menambah parameter.
415Unsupported Media Type
#
Format body (Content-Type) tidak didukung.
Kapan dipakai: API yang mengharapkan application/json justru menerima data form atau XML.
416Range Not Satisfiable
#
Header Range meminta byte di luar ukuran file.
Kapan dipakai: Melanjutkan unduhan dari posisi di luar akhir file yang sudah mengecil.
Server tidak bisa memenuhi syarat di header Expect.
Kapan dipakai: Menolak unggahan Expect: 100-continue.
Lelucon April Mop dari RFC 2324 (Hyper Text Coffee Pot Control Protocol): server menolak menyeduh kopi karena dirinya adalah teko teh.
Kapan dipakai: Hanya untuk easter egg. Beberapa layanan memakainya untuk menolak permintaan otomatis atau tidak diinginkan, tapi kode ini tidak punya arti standar.
Permintaan sampai ke server yang tidak bisa memberikan respons untuk host ini.
Kapan dipakai: Penggunaan ulang koneksi HTTP/2 lintas hostname yang sertifikat atau konfigurasinya tidak cocok.
422Unprocessable Content
#
Sintaksnya valid, tapi isinya gagal validasi semantik.
Kapan dipakai: Error validasi form atau API (field wajib kosong, email tidak valid). Populer di API Rails dan Laravel.
WebDAV: resource sedang dikunci.
Kapan dipakai: File sedang di-checkout atau dikunci oleh pengguna lain.
WebDAV: permintaan gagal karena permintaan sebelumnya yang menjadi dependensinya juga gagal.
Kapan dipakai: Operasi batch di mana satu kegagalan membatalkan sisanya.
Server tidak akan memproses permintaan yang mungkin diputar ulang (data awal TLS 1.3 / 0-RTT).
Kapan dipakai: Melindungi permintaan non-idempoten yang dikirim di data awal TLS dari serangan replay.
Klien harus beralih ke protokol lain yang disebut di header Upgrade.
Kapan dipakai: Memaksa klien pindah ke versi protokol yang lebih baru.
428Precondition Required
#
Server mewajibkan permintaan bersyarat (misalnya menyertakan If-Match).
Kapan dipakai: Mencegah “lost update” dengan menolak permintaan PUT/PATCH tanpa syarat.
Klien mengirim terlalu banyak permintaan dalam waktu tertentu (rate limiting).
Kapan dipakai: Batas rate limit API dan proteksi brute-force. Sertakan header Retry-After.
Dampak SEO: Googlebot memperlambat crawl saat melihat 429 (dan 503). 429 yang terus-menerus bisa membuat URL dikeluarkan.
431Request Header Fields Too Large
#
Sebuah header (sering Cookie) atau semua header digabung terlalu besar.
Kapan dipakai: Biasanya disebabkan oleh cookie yang menumpuk; menghapus cookie untuk situs tersebut akan memperbaikinya bagi pengguna.
451Unavailable For Legal Reasons
#
Resource diblokir karena alasan hukum — sensor, perintah pengadilan, atau regulasi regional. Angkanya merujuk pada novel Fahrenheit 451 karya Ray Bradbury.
Kapan dipakai: Konten yang dihapus karena permintaan takedown atau dibatasi secara geografis oleh hukum.
Dampak SEO: Diperlakukan seperti kode 4xx lainnya: tidak diindeks.