← Semua materi

Networking / Hands-on Lab

Cara membaca status HTTP 200, 301, 302, 404, dan 500 dengan curl

Gunakan curl untuk membedakan respons sukses, redirect, halaman tidak ditemukan, dan error server tanpa bergantung pada browser.

Tujuan latihan

Mengenali arti status HTTP umum dan mengumpulkan bukti status, header, serta URL akhir dengan curl.

Persiapan

Terminal dengan curl dan URL yang boleh Anda uji. Contoh di artikel ini adalah panduan latihan; status aktual dapat berbeda.

URL
HTTP response
Status code

Masalah

Browser sering menyembunyikan detail redirect atau hanya menampilkan halaman error. Saat troubleshooting, kita perlu mengetahui status yang benar-benar dikirim server atau edge.

Persiapan

Mulai dengan URL lab atau website yang Anda kelola. Hindari mengirim request berulang dalam jumlah besar ke layanan yang bukan milik Anda.

1. Ambil status saja

Opsi -sS mengurangi output, -o /dev/null membuang body, dan -w menampilkan status HTTP yang diterima.

curl -sS -o /dev/null -w 'status=%{http_code}\n' https://example.com

2. Baca header

Gunakan -I untuk melihat header respons. Untuk 301 atau 302, perhatikan header Location yang menunjukkan tujuan redirect.

curl --connect-timeout 5 --max-time 15 -I https://example.com

3. Ikuti redirect

Tambahkan -L jika Anda ingin mengikuti redirect sampai URL akhir. Batasi jumlah redirect agar loop lebih mudah dikenali.

curl --max-redirs 5 -L -o /dev/null -sS -w 'akhir=%{url_effective}\nstatus=%{http_code}\n' http://example.com

4. Tafsirkan kode umum

200 berarti request berhasil diproses. 301 adalah redirect permanen, sedangkan 302 adalah redirect sementara menurut semantik HTTP. 404 berarti resource target tidak ditemukan. 500 menunjukkan server mengalami kondisi tak terduga saat memproses request.

Verifikasi

Bandingkan hasil tanpa -L dan dengan -L. Jika browser sukses tetapi curl menerima status berbeda, periksa perbedaan hostname, cookie, User-Agent, autentikasi, atau jalur redirect sebelum menyimpulkan penyebab.

Pelajaran

Status HTTP adalah bukti dari satu tahap request. Status 200 belum menjamin isi halaman benar, sedangkan 4xx/5xx belum menjelaskan akar masalah tanpa melihat header, body, log, dan konteks aplikasi.

Referensi resmi

curl — manual resmi ↗RFC 9110 — HTTP Semantics ↗
Pilih materi berikutnya →