Masalah
Browser sering menyembunyikan detail redirect atau hanya menampilkan halaman error. Saat troubleshooting, kita perlu mengetahui status yang benar-benar dikirim server atau edge.
Networking / Hands-on Lab
Gunakan curl untuk membedakan respons sukses, redirect, halaman tidak ditemukan, dan error server tanpa bergantung pada browser.
Mengenali arti status HTTP umum dan mengumpulkan bukti status, header, serta URL akhir dengan curl.
PersiapanTerminal dengan curl dan URL yang boleh Anda uji. Contoh di artikel ini adalah panduan latihan; status aktual dapat berbeda.
Browser sering menyembunyikan detail redirect atau hanya menampilkan halaman error. Saat troubleshooting, kita perlu mengetahui status yang benar-benar dikirim server atau edge.
Mulai dengan URL lab atau website yang Anda kelola. Hindari mengirim request berulang dalam jumlah besar ke layanan yang bukan milik Anda.
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.comGunakan -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.comTambahkan -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.com200 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.
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.
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.