Mendekati Corak "Post/Redirect/Get"
Sementara corak "post/redirect/get" telah dijelaskan sebagai konsep , selok-beloknya boleh membingungkan. Benarkan kami membongkar proses ini langkah demi langkah untuk pemahaman yang lebih baik.
Masalahnya:
Apabila menyerahkan borang, pertimbangkan senario di mana anda ingin menghalang penyerahan semula selepas muat semula halaman. Jika permintaan POST mudah digunakan, memuatkan semula halaman akan menyerahkan semula borang, yang berpotensi membawa kepada entri pendua yang tidak diingini.
Penyelesaian: Corak "Siarkan/Ubah Hala/Dapatkan"
Corak ini terdiri daripada tiga yang berbeza peringkat:
-
Siaran: Borang diserahkan menggunakan permintaan POST, menghantar data ke pelayan.
-
Ubah hala: Setelah berjaya penyerahan, pelayan bertindak balas dengan ubah hala (biasanya kod status 302) kepada yang baharu URL.
-
Dapatkan: Penyemak imbas mengikuti ubah hala dan membuat permintaan GET ke URL baharu, memaparkan halaman yang sesuai.
Kelebihan PRG:
-
Menghalang borang pendua penyerahan: Memandangkan borang tidak diserahkan lagi, tiada risiko penyertaan pendua semasa muat semula halaman.
-
Memelihara sejarah penyemak imbas: Permintaan GET dalam langkah ketiga membolehkan penyemak imbas mengekalkan sejarah lawatan halaman yang betul.
-
Meningkatkan keselamatan: Dengan menyimpan data sensitif (seperti kata laluan) daripada URL, PRG meningkatkan keselamatan.
Memahami Rajah:
Rajah yang disediakan menggambarkan aliran corak PRG.
- Contoh "buruk" menunjukkan bahawa menyegarkan borang selepas permintaan POST akan mengakibatkan penyerahan semula, manakala contoh "baik" menunjukkan pengendalian yang betul menggunakan permintaan ubah hala dan GET.
Atas ialah kandungan terperinci Bagaimanakah Corak Post/Redirect/Get (PRG) Menghalang Penyerahan Borang Pendua?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!