← Semua artikel

Mengenal HTTP Status Code 200, 301, 403, 404, 429 & 500

Diperbarui 21 Oct 2026

Pernah membuka website lalu mendapatkan error 404, menjalankan script dan melihat 429, atau menggunakan proxy lalu muncul 407? Angka-angka itu bukan error acak. Mereka adalah HTTP status code, yaitu kode yang dikirim server untuk memberi tahu hasil dari sebuah HTTP request.

Status code membantu browser, aplikasi, API client, crawler, proxy, dan developer memahami apa yang terjadi pada sebuah request. Apakah request berhasil, dialihkan ke URL lain, ditolak, terlalu banyak request, atau server sedang bermasalah.

Karena itu status code sangat penting saat troubleshooting web, proxy, scraping, API, CDN, reverse proxy, maupun aplikasi biasa.

Kalau kamu belum familiar dengan jalur request dari browser ke server, artikel TCP vs UDP dan TCP Handshake bisa menjadi fondasi sebelum masuk lebih dalam ke HTTP.

Apa Itu HTTP Status Code?

HTTP status code adalah angka tiga digit yang dikirim dalam response HTTP untuk menunjukkan hasil pemrosesan sebuah request.

Contoh sederhana:

HTTP/1.1 200 OK

Artinya server berhasil menangani request tersebut.

Contoh lain:

HTTP/1.1 404 Not Found

Artinya resource yang diminta tidak ditemukan pada server.

Client
Request
→
Server
→
Status Code
Response

HTTP Status Code Dibagi Menjadi Berapa Kategori?

Status code dibagi menjadi lima kelompok besar berdasarkan angka pertamanya.

Range Kategori Arti Umum
100–199 Informational Request sedang diproses atau ada informasi sementara.
200–299 Success Request berhasil diproses.
300–399 Redirection Client perlu menggunakan resource lain atau cache tertentu.
400–499 Client Error Ada masalah dari sisi request atau akses client.
500–599 Server Error Server gagal menangani request.

Apa Arti Status 200 OK?

200 OK adalah salah satu status paling umum.

Artinya request berhasil diproses oleh server.

HTTP/1.1 200 OK

Makna detailnya bisa berbeda tergantung HTTP method yang digunakan.

Untuk GET, 200 biasanya berarti resource berhasil dikirim ke client.

Untuk POST atau PUT, response bisa berisi hasil dari proses yang dilakukan.

Apakah 200 Selalu Berarti Semua Berjalan Sempurna?

Tidak selalu dari sisi aplikasi.

Status 200 hanya mengatakan bahwa request berhasil diproses pada level HTTP.

Aplikasi masih bisa mengembalikan data seperti:

{ "success": false, "message": "Data tidak tersedia" }

dengan status HTTP 200.

Jadi developer harus melihat status code dan isi response sekaligus.

Apa Arti 201 Created?

201 Created biasanya digunakan ketika request berhasil dan menghasilkan resource baru.

Contohnya API:

POST /users

berhasil membuat user baru.

Server bisa membalas:

HTTP/1.1 201 Created

Apa Arti 204 No Content?

204 No Content berarti request berhasil tetapi server tidak mengirim message body.

Contohnya:

DELETE /users/123

bisa berhasil lalu server merespons:

HTTP/1.1 204 No Content

Apa Itu Redirect?

Redirect terjadi ketika server mengarahkan client menuju lokasi lain.

Misalnya:

http://example.com

dialihkan ke:

https://example.com

Server bisa mengirim status 3xx bersama header Location.

Apa Arti 301 Moved Permanently?

301 Moved Permanently berarti resource telah dipindahkan secara permanen ke URL lain.

Contoh:

HTTP/1.1 301 Moved Permanently Location: https://example.com/new-page

Browser kemudian dapat membuka URL baru tersebut.

Kapan 301 Digunakan?

301 sering dipakai ketika:

  • pindah domain,
  • mengubah struktur URL,
  • mengalihkan HTTP ke HTTPS,
  • menggabungkan halaman lama ke URL baru.

Dalam SEO, 301 juga penting karena memberi sinyal bahwa pemindahan bersifat permanen.

Apa Arti 302 Found?

302 Found biasanya menunjukkan redirect sementara.

HTTP/1.1 302 Found Location: /temporary-page

Client diarahkan ke lokasi lain, tetapi URL asli tetap dianggap relevan untuk request berikutnya.

301 vs 302 Apa Bedanya?

Aspek 301 302
Sifat Permanen Sementara
URL lama Sudah pindah Masih dianggap berlaku
Use case Migrasi permanen Redirect sementara

Apa Arti 304 Not Modified?

304 Not Modified berhubungan dengan caching.

Client bisa menanyakan apakah resource sudah berubah sejak versi terakhir.

Kalau belum berubah, server dapat mengembalikan:

HTTP/1.1 304 Not Modified

Browser lalu menggunakan resource yang sudah ada di cache tanpa perlu mengunduh ulang seluruh body.

Apa Arti 400 Bad Request?

400 Bad Request menunjukkan server tidak dapat atau tidak mau memproses request karena dianggap bermasalah dari sisi client.

Contohnya:

  • request syntax rusak,
  • format data salah,
  • request framing tidak valid,
  • payload tidak sesuai yang diharapkan.

Contoh 400 pada API

Misalnya API membutuhkan:

{ "email": "[email protected]" }

tetapi client mengirim JSON yang rusak:

{ "email": }

server bisa membalas:

HTTP/1.1 400 Bad Request

Apa Arti 401 Unauthorized?

401 Unauthorized secara praktis lebih dekat dengan kondisi belum terautentikasi.

Server meminta client membuktikan identitasnya.

Misalnya API membutuhkan token:

Authorization: Bearer TOKEN

tetapi token tidak ada atau invalid.

Server dapat mengembalikan:

HTTP/1.1 401 Unauthorized

Apa Arti 403 Forbidden?

403 Forbidden berarti server memahami request tetapi menolak memberikan akses.

Ini berbeda dengan 401.

Status Arti Umum
401 Client belum atau gagal authentication.
403 Server menolak akses.

Kenapa Website Bisa Memberikan 403?

Penyebabnya bisa banyak:

  • izin akun tidak cukup,
  • IP diblokir,
  • WAF menolak request,
  • country restriction,
  • request dianggap automated,
  • hotlink protection,
  • server policy.

Jadi 403 tidak otomatis berarti proxy rusak.

Apa Arti 404 Not Found?

404 Not Found berarti server tidak menemukan resource yang diminta.

GET /halaman-yang-tidak-ada

server bisa membalas:

HTTP/1.1 404 Not Found

Penyebabnya bisa berupa:

  • URL salah,
  • halaman sudah dihapus,
  • route aplikasi tidak ada,
  • file tidak tersedia.

404 Tidak Selalu Berarti Domain Mati

Kalau homepage bisa dibuka tetapi satu URL menghasilkan 404, server masih hidup.

Yang tidak ditemukan adalah resource tertentu.

Contohnya:

https://example.com/ → 200 https://example.com/test → 404

Apa Arti 407 Proxy Authentication Required?

407 Proxy Authentication Required khusus berkaitan dengan proxy.

Artinya proxy meminta client melakukan authentication.

HTTP/1.1 407 Proxy Authentication Required

Ini berbeda dari 401 yang biasanya datang dari server tujuan.

Client
→
Proxy
407
→
Credential

Kalau kamu menggunakan private proxy dan melihat 407, cek username, password, atau metode authentication proxy.

401 vs 407

Status Yang Meminta Authentication
401 Server / website / API tujuan
407 Proxy server

Apa Arti 408 Request Timeout?

408 Request Timeout berarti server memutuskan menutup koneksi karena request tidak selesai dalam waktu yang diharapkan.

Status ini berbeda dari network timeout pada client.

Client timeout bisa terjadi sebelum ada HTTP response sama sekali.

Jangan menyamakan HTTP 408 dengan semua jenis timeout. Banyak timeout terjadi di level TCP, proxy, DNS, atau aplikasi sebelum status HTTP sempat dikirim.

Apa Arti 429 Too Many Requests?

429 Too Many Requests menunjukkan client mengirim terlalu banyak request dalam periode tertentu.

Status ini banyak ditemui pada:

  • API,
  • web scraping,
  • automation,
  • login endpoint,
  • rate-limited service.
HTTP/1.1 429 Too Many Requests

Kenapa 429 Terjadi?

Server atau gateway dapat memiliki rate limit seperti:

100 request per menit

Kalau client melebihi batas tersebut, server dapat mulai mengembalikan 429.

Apa Itu Retry-After?

Server dapat mengirim header:

Retry-After: 60

yang memberi petunjuk bahwa client sebaiknya menunggu sebelum mencoba lagi.

Untuk automation yang baik, 429 seharusnya ditangani dengan:

  • mengurangi request rate,
  • backoff,
  • menghormati Retry-After,
  • mengikuti API policy.

Butuh Proxy untuk Testing Request dan Status HTTP?

GudangProxy menyediakan daftar proxy gratis berdasarkan negara, protokol, tingkat anonimitas, dan status koneksi. Kamu bisa membandingkan bagaimana request melalui endpoint berbeda menghasilkan response HTTP yang berbeda.

Lihat Daftar Proxy Gratis →

Apakah Mengganti Proxy Bisa Menghilangkan 429?

Jangan menganggap rotasi IP adalah solusi utama untuk rate limit.

429 adalah sinyal bahwa layanan meminta client menurunkan frekuensi request.

Rate limit juga bisa dihitung berdasarkan:

  • API key,
  • akun,
  • session,
  • IP,
  • user identifier,
  • kombinasi beberapa sinyal.

Jadi mengganti IP belum tentu mengubah hasil.

Untuk automation yang sesuai aturan, lebih baik hormati rate limit layanan.

Apa Arti 500 Internal Server Error?

500 Internal Server Error merupakan server error generik.

HTTP/1.1 500 Internal Server Error

Artinya server mengalami kondisi yang tidak dapat ditangani dengan status 5xx yang lebih spesifik.

Penyebabnya bisa berupa:

  • exception aplikasi,
  • bug backend,
  • config error,
  • database issue,
  • dependency gagal,
  • resource exhaustion.

Apakah 500 Berarti Client Salah?

Biasanya status 500 menunjukkan masalah di sisi server.

Tetapi request tertentu bisa memicu bug server.

Jadi saat troubleshooting, developer tetap perlu melihat:

  • request input,
  • application log,
  • stack trace,
  • database log,
  • upstream dependency.

Apa Arti 502 Bad Gateway?

502 Bad Gateway biasanya muncul ketika server bertindak sebagai gateway atau proxy dan menerima response yang tidak valid dari upstream.

Client
→
Reverse Proxy
→
Backend Bermasalah

Contohnya Nginx menerima request, lalu backend aplikasi gagal memberikan response yang sesuai.

Apa Arti 503 Service Unavailable?

503 Service Unavailable berarti server sementara tidak siap menangani request.

Contohnya:

  • maintenance,
  • server overload,
  • backend belum siap,
  • service sedang restart.

Status ini idealnya digunakan untuk kondisi sementara.

Apa Arti 504 Gateway Timeout?

504 Gateway Timeout muncul ketika gateway atau proxy tidak mendapatkan response upstream dalam waktu yang diperlukan.

Client
→
Gateway
→
Upstream
Timeout

Ini berbeda dengan 502.

502 vs 504 Apa Bedanya?

Status Masalah Umum
502 Gateway mendapatkan response upstream yang tidak valid.
504 Gateway tidak menerima response upstream tepat waktu.

Kenapa Reverse Proxy Sering Menghasilkan 502 atau 504?

Karena reverse proxy berada di antara client dan backend.

Alurnya:

Browser
→
Nginx / Proxy
→
Application Server

Kalau backend mati, lambat, salah port, atau tidak bisa dijangkau, reverse proxy bisa menghasilkan 502/504 kepada client.

Konsep ini berkaitan dengan artikel Forward Proxy vs Reverse Proxy.

Apa Arti 501 Not Implemented?

501 Not Implemented berarti server tidak mendukung functionality yang diperlukan untuk memenuhi request.

Contohnya server tidak mendukung HTTP method tertentu.

Apa Arti 405 Method Not Allowed?

405 Method Not Allowed berarti server mengenal method tersebut tetapi tidak mengizinkannya untuk resource tertentu.

Misalnya endpoint hanya menerima:

GET

tetapi client mengirim:

DELETE

server bisa menjawab 405.

400 vs 422 Apa Bedanya?

400 biasanya lebih umum untuk request yang dianggap invalid.

422 Unprocessable Content digunakan ketika syntax request dapat dipahami tetapi content-nya tidak bisa diproses secara semantik.

Contoh API menerima JSON valid:

{ "age": -10 }

format JSON benar, tetapi nilai bisnis tidak valid.

Apa Arti 409 Conflict?

409 Conflict digunakan ketika request bertentangan dengan state resource saat ini.

Contohnya mencoba membuat username yang sudah dipakai atau update data yang mengalami version conflict.

Apa Arti 410 Gone?

410 Gone berarti resource sudah tidak tersedia dan kondisi tersebut dianggap permanen.

Ini berbeda dari 404 yang hanya mengatakan resource tidak ditemukan.

Status Arti Umum
404 Resource tidak ditemukan.
410 Resource diketahui sudah dihapus permanen.

Apa Arti 418 I'm a Teapot?

418 I'm a Teapot berasal dari RFC lelucon dan tetap terkenal di komunitas developer.

Status ini bukan status yang normal dipakai untuk aplikasi production sehari-hari.

Apa Arti 451 Unavailable for Legal Reasons?

451 Unavailable for Legal Reasons digunakan ketika resource tidak dapat diberikan karena alasan hukum.

Contohnya pembatasan konten berdasarkan kewajiban legal tertentu.

Apa Arti 511 Network Authentication Required?

511 Network Authentication Required dapat muncul ketika jaringan membutuhkan authentication sebelum memberikan akses.

Contohnya captive portal pada WiFi tertentu.

Ini berbeda dari 401 atau 407 karena konteksnya adalah akses ke jaringan.

HTTP Error vs Network Error

Ini sangat penting saat troubleshooting.

Kalau kamu mendapatkan:

HTTP 404

artinya koneksi ke HTTP server sudah berhasil dan server sempat mengirim response.

Tapi kalau mendapatkan:

Connection timeout

bisa jadi HTTP belum terjadi sama sekali.

Error Layer Umum
404 HTTP
500 HTTP/Application
Connection refused TCP/Network
DNS resolution failed DNS
TLS certificate error TLS

Kenapa Proxy Bisa Menghasilkan Status Code Sendiri?

Proxy adalah server di tengah jalur request.

Jadi response yang dilihat client tidak selalu berasal langsung dari website tujuan.

Contohnya:

Client
→
Proxy
407 / 403
→
Website

Proxy bisa mengembalikan error sebelum request diteruskan.

Bagaimana Tahu Error Berasal dari Proxy atau Website?

Lihat:

  • status code,
  • response header,
  • response body,
  • log proxy,
  • hasil request tanpa proxy,
  • hasil request melalui proxy lain.

Misalnya 407 hampir pasti berkaitan dengan proxy authentication.

403 bisa berasal dari website atau proxy, jadi perlu investigasi tambahan.

Cara Melihat HTTP Status dengan cURL

Gunakan:

curl -I https://example.com

Contoh output:

HTTP/2 200 content-type: text/html

Untuk melihat lebih detail:

curl -v https://example.com

Cara Melihat Status Saja dengan cURL

Kamu bisa menggunakan:

curl -s -o /dev/null -w "%{http_code}\n" \ https://example.com

Output:

200

Cara Mengecek Status melalui Proxy

Misalnya menggunakan HTTP proxy:

curl -v \ -x http://203.0.113.20:8080 \ https://example.com

Dari output verbose kamu bisa melihat response dari proxy dan destination.

HTTP Status Code pada Python Requests

Contoh:

import requests response = requests.get( "https://example.com", timeout=10 ) print(response.status_code)

Untuk memunculkan exception pada status error:

response.raise_for_status()

GudangProxy sudah membahas implementasi lengkapnya di artikel Proxy di Python Requests.

HTTP Status Code dan Web Scraping

Status code sangat penting dalam scraping.

Contohnya:

Status Apa yang Sebaiknya Dilakukan?
200 Proses response sesuai kebutuhan.
301/302 Ikuti redirect jika sesuai.
403 Cek akses, policy, autentikasi, dan WAF.
404 Tandai resource tidak ditemukan.
429 Kurangi request rate dan hormati Retry-After.
500/502/503/504 Retry terbatas jika sesuai dan gunakan backoff.

Jangan Retry Semua Error

Tidak semua status perlu di-retry.

Contoh:

404 → biasanya tidak perlu retry berkali-kali 429 → tunggu dan ikuti rate limit 503 → retry mungkin masuk akal 500 → retry terbatas bisa masuk akal tergantung context

Retry tanpa batas justru bisa memperburuk beban server.

Apa Itu Exponential Backoff?

Exponential backoff berarti jeda retry semakin lama.

Contohnya:

Retry 1 → tunggu 1 detik Retry 2 → tunggu 2 detik Retry 3 → tunggu 4 detik Retry 4 → tunggu 8 detik

Model seperti ini membantu menghindari retry storm.

HTTP Status dan Monitoring

Status code juga menjadi salah satu indikator penting untuk monitoring website.

Contohnya:

Kondisi Interpretasi Awal
200 Endpoint merespons sukses.
301 Ada redirect.
404 Resource tidak ditemukan.
500 Aplikasi/server error.
503 Service sementara tidak tersedia.

Tapi health check jangan hanya melihat 200. Bisa saja homepage 200 sementara database sudah bermasalah pada endpoint lain.

HTTP Status dan SEO

Status code juga punya dampak pada crawler dan indexing.

Beberapa contoh umum:

  • 200 → halaman tersedia,
  • 301 → pemindahan permanen,
  • 404 → halaman tidak ditemukan,
  • 410 → resource sengaja dihapus,
  • 5xx → server sedang bermasalah.

Redirect chain dan error server yang terus-menerus juga dapat mengganggu crawling.

Soft 404 Itu Apa?

Soft 404 terjadi ketika halaman sebenarnya tidak memiliki konten yang diminta tetapi server tetap mengembalikan status seperti 200.

Contohnya:

HTTP 200 "Maaf, halaman tidak ditemukan."

Secara aplikasi terlihat seperti halaman error, tetapi secara HTTP server bilang sukses.

Ini bisa membingungkan crawler dan monitoring.

HTTP Status Code dan API

API yang baik biasanya menggunakan status code sesuai hasil operasi.

Contohnya:

Operasi Status Umum
GET sukses 200
Create resource 201
Delete tanpa body 204
Input invalid 400 / 422
Belum login 401
Tidak punya izin 403
Resource tidak ada 404
Terlalu banyak request 429
Server error 500

Kesalahan Umum Saat Membaca HTTP Status

  • Menganggap semua 4xx berasal dari server rusak.
  • Menganggap 403 selalu karena IP proxy.
  • Menganggap 404 berarti server offline.
  • Menyamakan 401 dengan 403.
  • Menyamakan 401 dengan 407.
  • Menganggap semua 5xx perlu retry tanpa batas.
  • Menganggap 429 harus diselesaikan dengan ganti IP.
  • Menganggap 200 selalu berarti aplikasi sukses secara bisnis.
  • Menyamakan network timeout dengan HTTP 408.

Ringkasan Status Code yang Sering Ditemui

Status Arti Singkat
200 Request berhasil.
201 Resource berhasil dibuat.
204 Sukses tanpa response body.
301 Redirect permanen.
302 Redirect sementara.
304 Gunakan cached resource.
400 Bad request.
401 Authentication diperlukan.
403 Akses ditolak.
404 Resource tidak ditemukan.
407 Proxy authentication diperlukan.
408 Request timeout.
429 Terlalu banyak request.
500 Internal server error.
502 Bad gateway.
503 Service unavailable.
504 Gateway timeout.

FAQ HTTP Status Code

Apa itu HTTP status code?

HTTP status code adalah angka tiga digit yang dikirim server dalam response untuk menunjukkan hasil pemrosesan sebuah HTTP request.

Apa arti 200 OK?

200 berarti request berhasil diproses oleh server.

Apa beda 301 dan 302?

301 digunakan untuk redirect permanen, sedangkan 302 biasanya digunakan untuk redirect sementara.

Apa arti 403 Forbidden?

403 berarti server memahami request tetapi menolak memberikan akses.

Apa arti 404 Not Found?

404 berarti server tidak menemukan resource yang diminta.

Apa arti 407 Proxy Authentication Required?

407 berarti proxy meminta authentication sebelum meneruskan request.

Apa arti 429 Too Many Requests?

429 berarti client mengirim terlalu banyak request menurut rate limit server atau layanan.

Apa arti 500 Internal Server Error?

500 adalah server error generik yang menunjukkan server mengalami kondisi yang tidak dapat ditangani dengan status yang lebih spesifik.

Apa beda 502 dan 504?

502 berarti gateway menerima response upstream yang tidak valid, sedangkan 504 berarti gateway tidak menerima response upstream tepat waktu.

Apakah semua error HTTP berarti proxy bermasalah?

Tidak. Status code bisa berasal dari website, API, reverse proxy, gateway, CDN, atau forward proxy. Perlu melihat response lengkap dan jalur request untuk mengetahui sumbernya.