Terima kasih telah memposting. Harap siaga saat Anda diarahkan.
Jika Anda tidak diarahkan secara otomatis, silakan klik di sini.
Anda mungkin terbiasa dengan pesan seperti ini, terutama saat menggunakan web di tahun 90-an atau awal 2000-an. Dalam proyek saya sendiri, saya tidak pernah menemukan alasan untuk membuat pengguna menunggu selama 2-3 detik ketika mereka diarahkan setelah mendaftar atau memposting sesuatu, misalnya. Tetapi pola ini muncul setiap saat, bahkan dalam perangkat lunak web populer seperti PHPBB.
Pertanyaan saya adalah, apakah redirection masih memiliki tempat / kebutuhan dalam pengembangan web modern (ajaxy)? Apakah ada situasi yang benar-benar memerlukan pengalihan seperti ini, pada akhirnya mengganggu pengguna, dan apa alasan teknis di balik mereka ? Mengapa tidak langsung redirect saja jika diperlukan redirect?
sumber
Jawaban:
Maksud yang paling umum (umumnya dalam kasus permintaan yang membuat catatan baru dalam database, memproses transaksi pembayaran, dll) adalah pencegahan permintaan duplikat jika pengguna menekan tombol "Refresh" dan memposting ulang permintaan.
Jika Anda dapat pergi dengan memberi tahu pengguna yang memiliki Javascript dinonaktifkan bahwa permintaan mereka akan diabaikan atau mungkin disalahgunakan (pesan "Jangan klik kirim lebih dari sekali!" Tentu saja) - tetapi itu bukan upaya besar untuk mendukung mereka yang unik Pengguna yang dinonaktifkan JS dan memastikan bahwa departemen penagihan tidak melihat keluhan penagihan ganda, sehingga pengalihan semacam ini masih diterapkan di banyak antarmuka.
Pengalihan harus dikeluarkan secara instan jika tujuannya adalah untuk mencegah pengiriman beberapa formulir - dalam kasus pengalihan waktunya mungkin mereka diarahkan ke server yang lamban, mereka gagal memfaktorkan kunci berbasis sesi, atau mereka berusaha untuk memecahkan masalah yang lebih esoteris.
sumber
F5
padaStand by
halaman juga akan menyebabkan pengiriman ulang pos.Pertama-tama, tidak semua browser akan mengarahkan ulang ketika diberi header Lokasi. Kedua, tidak semua browser akan mengarahkan ulang dengan Javascript karena dinonaktifkan. Ketiga, tidak semua browser akan mendukung tag meta-refresh. Salah satu dari kasus-kasus ini mungkin sangat langka sehingga mungkin tidak masalah. Tetapi bahkan jika itu terjadi, Anda bisa tumpang tindih semua metode ini saya pikir.
Cara halaman PHPBB melakukannya (menunggu selama 5 detik atau sesuatu) tidak diperlukan sama sekali. Itu harus langsung redirect dan jika tidak, itu akan menampilkan halaman HTML (yang memiliki meta-refresh dan Javascript di atasnya dan teks dengan tautan) setelah mengirim header. Hampir tidak ada kemungkinan halaman ini akan ditampilkan oleh browser biasa jika diprogram dengan benar.
sumber
header()
fungsi PHP sebenarnya mungkin diabaikan? Ini sangat mengkhawatirkan saya. Saya sudah mengetahui tentang metode pengalihan HTML dan JS dan bagaimana mereka kurang dapat diandalkan, tetapi saya tidak pernah benar-benar berpikir header HTTP yang dikirim oleh server sebenarnya dapat diabaikan.Saya selalu mengirim arahan ulang di header respons dengan kode status HTTP yang tepat (mis. 301 atau 302 - lihat http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html ), yang menghasilkan pengalihan langsung dengan segera. Saya tidak mengetahui alasan teknis yang bagus mengapa seseorang akan menampilkan "harap tunggu saat Anda diarahkan ke halaman".
sumber
Alasan utama untuk melakukan ini adalah bahwa catatan dibuat di situs yang telah Anda arahkan. Halaman tersebut dapat memuat Google Analytics, tetapi datanya juga akan ada di weblog.
Jika Anda mengirim pengalihan menggunakan tajuk HTTP maka peramban akan pergi ke situs lain tanpa membuat permintaan tambahan ke situs asli. Pelacakan berbasis Javascript dapat menangkap keluar ini, tetapi memberikan pemilik situs peluang yang lebih baik untuk pelacakan.
Dalam beberapa kasus, Anda mungkin juga ingin memberikan penafian kepada pengguna daripada diarahkan. Ini sangat penting bagi webmaster yang bekerja di industri yang diatur. Jika Anda tidak bekerja di industri yang diatur seperti perbankan atau farmasi, Anda tidak akan memiliki banyak penghargaan untuk persyaratan ini.
sumber
Ini juga memungkinkan tombol kembali untuk mengurutkan pekerjaan dengan benar.
sumber