【问题标题】:Prevent browser from repeating long post requests防止浏览器重复长post请求
【发布时间】:2016-09-14 04:26:55
【问题描述】:

根据 HTTP 1.1 规范,browsers should retry a request 如果它们通过了某个时间限制或收到错误响应。 POST 请求也不例外。

有时,慢速连接加上处理器繁重的请求会导致 ajax POST 请求超时,并且浏览器会使用相同的数据触发第二个 POST 请求。这会导致意外和错误的行为。有什么方法可以防止浏览器超时触发和触发第二个 POST 请求?

【问题讨论】:

  • 我认为这已经被RFC 7230, section 6.3.1 覆盖了。不,我不相信这可以通过服务器来控制。
  • @DaSourcerer,不通过服务器,但客户端 javascript 会很棒。
  • 你的意思是超越XMLHttpRequest.timeout?我对此表示怀疑。

标签: ajax http browser


【解决方案1】:

根据我的理解,您不能限制客户端停止自动重试。 最好的选择是使用唯一的 GUID 在服务器端处理相同的请求。 https://blogs.oracle.com/ravello/beware-http-requests-automatic-retries/comment-submitted?cid=b956dee8-7352-4d88-ad40-71ff9fd1eb53

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-19
    • 1970-01-01
    • 2012-09-29
    • 2015-06-05
    • 2012-10-13
    • 2015-03-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多