Mil*_*kov 39 php forms post http-headers
我有一个应用程序,它为网页提供了很长的参数列表,所以我必须使用POST而不是GET.问题是,当页面显示并且用户单击"后退"按钮时,Firefox会显示警告:
要显示此页面,Firefox必须发送将重复之前执行的任何操作(例如搜索或订单确认)的信息.
由于应用程序以这样的方式构建,即返回是一种非常常见的操作,这对最终用户来说真的很烦人.
基本上,我想按照这个页面的方式来做:
http://www.pikanya.net/testcache/
输入内容,提交,然后单击"上一步"按钮.没有警告,它只是回去了.
谷歌搜索我发现这可能是Firefox 3中的一个错误,但我想以某种方式获得这种行为,即使他们"修复"它.
我想这可能是一些HTTP标题可行,但究竟是哪个?
Ily*_*man 37
在这里查看我的网络编程的黄金法则:
它说:"永远不要用身体回应POST请求.始终执行工作,然后使用Location:标头进行响应以重定向到更新的页面,以便浏览器使用GET请求它"
如果浏览器曾要求用户重新发布POST,那么您的Web应用程序就会崩溃.用户不应该看到这个问题.
Pet*_*ham 28
一种方法是将POST重定向到重定向到GET的页面 - 请参阅发布/重定向/获取维基百科.
假设您的POST是4K的表单数据.据推测,您的服务器使用该数据执行某些操作,而不是仅将其显示一次并将其丢弃,例如将其保存在数据库中.继续这样做,或者如果它是一个巨大的搜索表单,则在数据库中创建它的临时副本,该数据库在几天后被清除,或者在使用空间限制时以LRU为基础.现在创建一个可以使用GET访问的数据表示.如果是临时的,请为其生成ID并将其用作URL; 如果它是一组永久数据,它可能有一个ID或者可以用于URL的东西.在最坏的情况下,像小网址使用的算法可以将大网址折叠为更小的网址.重定向POST以获取数据的表示.
作为历史记录,这种技术在1995年成立.
| 归档时间: |
|
| 查看次数: |
57936 次 |
| 最近记录: |