在终止POST响应后,移动浏览器发送自动GET请求

时间:2014-05-21 18:52:30

标签: post get httprequest

从“移动浏览器”发送POST表单时,我有一个非常奇怪的问题

  • 使用POST请求将表单发送到服务器
  • 这适用于桌面浏览器(Chrome,Safari,FF,IE)
  • 第一次尝试使用移动浏览器,响应得到终止(浏览器发送FIN ACK,然后发送多个RST,使用Wireshark调试),然后浏览器向表单端点发出GET请求(表单端点不是与当前网站相同)
  • 如果我从同一会话再次发送表单,则可以在移动设备上正常运行
  • 我使用真正的移动客户端(iPhone,iPad,Android手机)对此进行了测试,并且在使用Chrome开发工具模拟移动设备时也会遇到相同的行为

任何想法可能是什么?

THX

1 个答案:

答案 0 :(得分:0)

这是相当标准的客户行为:http://en.wikipedia.org/wiki/Post/Redirect/Get 它的存在是为了防止HTML表单的双重发布。

您可以在某些情况下使用此行为(API:最新评论,更改当前语言翻译),就像需要强制浏览器刷新资源一样,即使URI没有更改。你可以POST到URI,然后浏览器应该发送一个自动GET,它将更新浏览器的缓存响应。