【问题标题】:Mobile Browser sends automatic GET Request, after terminating POST Response移动浏览器在终止 POST 响应后发送自动 GET 请求
【发布时间】:2014-05-21 18:52:29
【问题描述】:

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

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

知道这可能是什么吗?

谢谢

【问题讨论】:

    标签: post get httprequest


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2013-02-23
      • 2012-10-13
      • 1970-01-01
      • 2018-09-16
      • 1970-01-01
      • 2016-06-05
      • 2011-06-15
      • 2017-12-06
      相关资源
      最近更新 更多