儘管遇到了許多關於「post/redirect/get」模式的概述,但仍可掌握其複雜性難以捉摸。讓我們更深入地闡明這個概念。
在某些情況下,應用程式要求使用者提交敏感訊息,例如密碼或信用卡號。使用 HTTP POST 方法,這些值會安全地嵌入到請求正文中,不會暴露在 URL 中。
但是,在 POST 處理後,立即返回一個如果用戶刷新頁面,響應頁面可能會導致意外重新提交。為了防止這種情況,將會重新導向到新的 URL。這個新 URL 不再包含 POST 有效負載,從而防止其重複提交。
最後,使用者到達 GET URL,該 URL 通常會顯示 POST 的結果手術。資料輸入 (POST) 與資料顯示 (GET) 的分離可確保資料完整性和更清晰的使用者體驗。
考慮下圖:
[圖片:「問題」- POST 資料進入漏斗,但離開它會觸發重新 POST。 「解決方案」 - POST 資料進入一個漏斗,該漏斗重定向到GET 頁面]
透過了解重新提交的問題以及重定向在緩解該問題中的作用,「post/redirect/get」模式變得更加直觀。
以上是為什麼要使用 Post/Redirect/Get (PRG) 來防止資料重新提交?的詳細內容。更多資訊請關注PHP中文網其他相關文章!