Saat Anda mengirim permintaan ke server web (klik tautan), server dapat mengirim sejumlah respons berbeda. Contoh umum adalah 404 (halaman tidak ditemukan), 403 (dilarang), atau 500 (kesalahan server). Mungkin kode respons yang paling umum adalah 200 (Oke), tetapi Anda tidak akan pernah melihatnya karena umumnya disertai dengan halaman yang ingin Anda lihat.
Ada beberapa kode lain yang sedang dimainkan di sini: 301 dan 302. Kode 301 dan 302 adalah kode pengalihan, dan mereka memberi tahu peramban Anda bahwa respons yang Anda inginkan telah pindah ke lokasi lain. Perbedaan utama di antara mereka adalah bagaimana browser melakukan cache. Kode 301 berarti "pindah secara permanen", dan saat berikutnya Anda mencoba mengunjungi tautan asli, peramban mungkin ingat bahwa laman telah pindah dan langsung menuju ke lokasi baru. 302 berarti "Ditemukan di tempat lain" dan akan memberikan tautan yang hanya boleh digunakan browser Anda sementara.
Seharusnya dimungkinkan untuk menulis sebuah program yang akan memeriksa tautan, dan selama Anda terus mendapatkan 30x tanggapan, ikuti tanggapannya, sampai akhirnya mendapatkan angka 200. Pada titik ini, alih-alih mengunduh konten, program harus memperlihatkan tautan tersebut kepada Anda.
Sayangnya, ini juga lebih rumit dari itu. Halaman Html juga dapat mengarahkan ke lokasi baru menggunakan tag meta di bagian kepala halaman yang terlihat seperti ini: <meta http-equiv="refresh" content="0;url=NEW PAGE URL" />
. Jadi program seperti itu sudah harus sepenuhnya mem-parsing html untuk memastikan kita mencapai redirect terakhir.
Selain itu, halaman dapat mengarahkan Anda lebih lanjut menggunakan javascript, dan javascript mungkin dikaburkan. Jadi sekarang program hipotesis kami juga harus mengerti javascript. Pada titik ini kami memiliki browser web yang berfungsi penuh. Kami kehilangan detail kecil untuk menampilkan halaman di layar, tetapi program kami memiliki hampir semua yang Anda perlukan untuk browser web lengkap, termasuk semua masalah keamanan yang menyertainya. Anda tidak lagi lebih baik daripada jika Anda baru saja mengklik tautan itu secara normal.
edit
untuk melihat sumber penurunan harga untuk cara saya melakukannya.