尽管遇到了许多关于“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中文网其他相关文章!