Menu

Kode Status HTTP

Referensi yang bisa dicari untuk setiap kode status HTTP, dengan penjelasan yang mudah dipahami.

Oleh Nethanel Bar, Co-founder & CEO

Terakhir diperbarui

Siap benar-benar belajar coding?

Coddy mengajarimu dengan menulis kode sungguhan di browser: pelajaran interaktif, umpan balik instan, dan bantuan AI saat kamu buntu.

Apa itu kode status HTTP?

Kode status HTTP adalah angka tiga digit yang dikembalikan server di bagian atas setiap respons untuk merangkum apa yang terjadi. Dengan kode inilah browser, client, proxy, dan CDN memutuskan apakah akan menyimpan cache, redirect, mencoba lagi, atau menampilkan error kepada pengguna.

Setiap kode status masuk ke salah satu dari lima kelas berdasarkan digit pertamanya: 1xx informasi, 2xx berhasil, 3xx pengalihan, 4xx error client, 5xx error server. Begitu tahu kelasnya, biasanya kamu sudah tahu arti kasarnya bahkan sebelum mencari kode spesifiknya.

Kebanyakan aplikasi hanya memakai sekumpulan kecil kode inti (200, 201, 204, 301, 302, 304, 400, 401, 403, 404, 409, 422, 429, 500, 502, 503). Memahami *arti* masing-masing, termasuk beda 401 Unauthorized dan 403 Forbidden, atau 301 Moved Permanently dan 302 Found, itulah yang membuatmu menjadi developer backend atau API yang lebih kuat.

Yang akan kamu pelajari saat memakai referensi ini

  • Digit pertama selalu menunjukkan kelasnya: 1xx informasi, 2xx berhasil, 3xx redirect, 4xx error client, 5xx error server.
  • Kode status adalah *bagian dari kontrak* sebuah API: client sebaiknya bercabang berdasarkan kode ini, bukan mengurai pesan error dari body.
  • 4xx berarti client melakukan kesalahan (input buruk, autentikasi tidak ada, resource tidak ada). 5xx berarti server gagal, apa pun yang dilakukan client.
  • Beberapa kode punya nuansa: 401 vs 403, 301 vs 308, 200 vs 204. Perbedaannya penting untuk caching dan percobaan ulang.

Cara memakai referensi kode status langkah demi langkah

  1. Cari berdasarkan kode atau nama

    Ketik angka (404, 429) atau kata kunci (auth, redirect, rate limit), dan kode yang cocok langsung tersaring.

  2. Saring berdasarkan kelas

    Pakai chip kelas (1xx, 2xx, 3xx, 4xx, 5xx) untuk mempersempit daftar saat kamu menjelajah, bukan mencari.

  3. Baca penjelasan sederhananya

    Setiap entri berisi kapan kode itu dikirim, perilaku client yang umum, dan penyebab yang paling sering.

  4. Bandingkan kode yang berkaitan

    Pakai tautan lihat-juga di antara pasangan yang membingungkan (401 vs 403, 301 vs 302) untuk memilih yang tepat bagi API-mu.

Kelas kode status HTTP

Lima kelas kode status HTTP dan artinya secara sekilas. Didefinisikan oleh RFC 9110 dan terdaftar di IANA HTTP Status Code Registry.

KelasArtiKode umum
1xx InformasiPermintaan diterima, sedang diproses100, 101, 103
2xx BerhasilPermintaan berhasil200, 201, 204, 206
3xx PengalihanCari di tempat lain301, 302, 304, 307, 308
4xx Error clientAda yang salah dengan permintaannya400, 401, 403, 404, 409, 422, 429
5xx Error serverServer gagal memenuhi permintaan yang valid500, 502, 503, 504

Kode status HTTP umum yang perlu kamu tahu

200 OK vs 201 Created vs 204 No Content

200 OK

Respons standar "semuanya berhasil", dengan body.

201 Created

Resource baru dibuat sebagai hasil permintaan, biasanya setelah POST.

204 No Content

Berhasil, tetapi tanpa body. Umum setelah panggilan DELETE atau PUT yang tidak perlu mengembalikan data.

Ketiganya kode sukses, dan bedanya ada pada apa yang dibawa respons. 201 sebaiknya menyertakan header Location yang menunjuk ke resource baru, sedangkan 204 memang kosong menurut definisinya.

301 Moved Permanently vs 302 Found

301

Redirect permanen. Browser dan mesin pencari mengingatnya, dan URL lama praktis sudah mati.

302

Redirect sementara. Browser mengecek ulang URL asli di setiap permintaan, dan bookmark tetap di URL lama.

Pakai 301 saat kamu benar-benar memindahkan resource (ganti merek, perubahan struktur URL). Pakai 302 untuk redirect berumur pendek seperti A/B test, redirect login, atau halaman maintenance.

401 Unauthorized vs 403 Forbidden

401

Kamu belum terautentikasi. Server tidak tahu siapa kamu.

403

Server tahu siapa kamu, tetapi kamu tidak punya izin untuk resource ini.

Kalau mengirim kredensial lain mungkin bisa memperbaikinya, kembalikan 401. Kalau kredensial apa pun tidak akan membantu (resource-nya memang terlarang untuk pengguna ini), kembalikan 403.

500 vs 502 vs 503 vs 504

500

Error server umum: kodemu melempar exception yang tidak ditangani.

502

Bad gateway: proxy di depan (CDN, load balancer) tidak bisa menjangkau server upstream.

503

Service unavailable: server menyala tetapi kelebihan beban atau sedang dalam mode maintenance.

504

Gateway timeout: proxy berhasil menjangkau upstream tetapi tidak mendapat respons tepat waktu.

Keempatnya error server, tetapi masing-masing bercerita sangat berbeda bagi orang yang men-debug. 500 berarti aplikasimu, 502 dan 504 menunjuk ke jalur jaringan, dan 503 menunjuk ke kapasitas.

Kesalahan umum soal kode status HTTP

  • Mengembalikan 200 OK dengan {"error": "..."} di body. Kode status adalah bagian dari kontrak, jadi pakai yang tepat (400, 404, 500) agar client bisa bercabang berdasarkan kode itu.
  • Memakai 401 untuk error izin. 401 untuk autentikasi, sedangkan penolakan izin adalah 403.
  • Memakai 200 untuk resource yang baru dibuat, bukan 201 dengan header Location.
  • Mengembalikan 404 untuk akses tanpa izin. Cara ini menyembunyikan resource dari pengintaian, tetapi juga membingungkan client yang punya akses sah. 403 biasanya lebih jelas.
  • Mencampuradukkan 429 Too Many Requests dengan 503 Service Unavailable. Pakai 429 untuk rate limit per client, dan 503 untuk kelebihan beban global.

FAQ Kode Status HTTP

Apa arti HTTP 404?
404 Not Found berarti server memahami permintaannya, tetapi resource di URL itu tidak ada. Paling sering path-nya salah, resource-nya sudah dihapus, atau URL-nya salah ketik.
Apa bedanya 401 dan 403?
401 Unauthorized berarti kamu belum terautentikasi: server tidak tahu siapa kamu. 403 Forbidden berarti kamu sudah terautentikasi tetapi tidak punya izin untuk resource itu. Mengirim kredensial lain mungkin memperbaiki 401, tetapi tidak akan memperbaiki 403.
Apa bedanya 301 dan 302?
301 Moved Permanently adalah redirect permanen: browser dan mesin pencari memperbarui catatannya. 302 Found adalah redirect sementara: client tetap mengunjungi URL asli. Pakai 301 untuk perpindahan permanen, dan 302 untuk pengalihan sementara.
Apa arti HTTP 500?
500 Internal Server Error adalah error sisi server yang umum, biasanya dilempar saat exception yang tidak ditangani naik ke atas. Client tidak melakukan kesalahan apa pun: server-mu gagal memproses permintaan yang valid.
Haruskah aku selalu memakai kode status yang spesifik?
Ya. 200 OK umum untuk kegagalan atau 500 untuk semua kesalahan membuat API lebih sulit dipakai. Pilih kode paling spesifik yang cocok, karena client, proxy, sistem monitoring, dan logika retry semuanya bercabang berdasarkan kode status.
Apa arti HTTP 429?
429 Too Many Requests dikirim saat client mencapai rate limit. Responsnya sebaiknya menyertakan header Retry-After yang memberi tahu client kapan aman untuk mencoba lagi.
Apa arti HTTP 403 Forbidden?
403 Forbidden berarti server memahami permintaannya dan tahu siapa kamu, tetapi menolak memberimu akses ke resource itu. Berbeda dengan 401, autentikasi ulang tidak akan membantu, karena akunmu memang tidak punya izin. Penyebab umumnya adalah role atau scope yang tidak ada, allowlist IP, atau resource yang bersifat privat milik pengguna lain.
Apa arti HTTP 502 Bad Gateway?
502 Bad Gateway berarti server yang bertindak sebagai proxy atau gateway (CDN, load balancer, atau reverse proxy) menerima respons yang tidak valid atau kosong dari server upstream tempat permintaanmu diteruskan. Biasanya ini menunjuk ke backend yang mati, crash, atau salah konfigurasi, bukan ke permintaanmu.
Ada berapa banyak kode status HTTP?

Ada lima kelas (1xx-5xx) dan sekitar 60 kode terstandar yang terdaftar di IANA, meski kebanyakan jarang dipakai. Dalam praktiknya, pengembangan web dan API sehari-hari mengandalkan sekitar 15 sampai 20 kode inti: 200, 201, 204, 301, 302, 304, 400, 401, 403, 404, 409, 422, 429, 500, 502, dan 503. Daftar yang bisa dicari di atas mencakup setiap kode standar dengan penjelasan sederhana.

Pelajari lebih lanjut

Alat developer lainnya

Ilustrasi bahasa pemrograman di Coddy

Belajar coding dengan Coddy

Mulai