【问题标题】:Chrome sends a request multiple timesChrome 多次发送请求
【发布时间】:2011-05-24 20:38:56
【问题描述】:

我有一个 Rails 3 应用程序,只是注意到当使用 Chrome(在 Mac 上)访问该应用程序时,网站上的每个页面都被请求两次。这发生在开发和生产(Heroku)中。 Firefox 和 Safari 只发送一次请求。即使我删除了操作的所有布局和内容,行为也是相同的。似乎存在 MIME 类型问题。有人解决了这个问题吗?

class PagesController < ApplicationController
  def home
    render :text => 'a', :layout => false
  end

这是开发中的服务器登录:

2010 年 12 月 13 日星期一 10:33:33 -0800 开始为 127.0.0.1 获取“/”

PagesController#home 处理为 HTML

渲染文本模板(0.0ms)

在 2 毫秒内完成 200 次 OK(查看次数:1.3 毫秒 | ActiveRecord:0.8 毫秒)


2010 年 12 月 13 日星期一 10:33:33 -0800 开始为 127.0.0.1 获取“/”

PagesController#home 处理为 */*

渲染文本模板(0.0ms)

在 3 毫秒内完成 200 次 OK(查看次数:1.7 毫秒 | ActiveRecord:1.4 毫秒)

【问题讨论】:

  • 我在 XP 上使用 Chrome 9.0.597.98 时遇到了类似的问题:每次我获得一个 (PHP) 页面时,它都会在同一秒内访问日志 3 次。我尝试过的任何其他浏览器都适用于该页面(Linux/Windows 上的 Firefox 3.6.13/14、Opera/Windows、IE8,甚至 Chromium/9.0.597.94/Linux)。
  • 我意识到这是一个非常古老的问题,但我实际上遇到了相反的问题。对我来说,Chrome 运行良好,但 Safari 和 Firefox 正在向我的服务器(heroku 或本地)发送两个请求。

标签: ruby-on-rails google-chrome


【解决方案1】:

不,但我没有被它打扰。 TBH 我完全忘记了这篇文章。

【讨论】:

    【解决方案2】:

    我在研究类似问题时发现了这个线程。 我有一个 HTML &lt;OBJECT&gt;,其数据是通过调用 php 脚本来填充的。在 Chrome 27.0.1453.81 中运行时,我收到了两个对 PHP 脚本的调用 (GET),但只有一个来自 IE (10.0) 或 FF (19.0.2)。查看 HTTP 流量,第二个 GET 在第一个 GET 之后生成,但在第一个 GET 响应之前,所以我倾向于同意 Chrome 不耐烦并在它相信第一个时发送第二个 GET 的建议失败了(它没有)。
    我的 php 脚本总是需要几秒钟才能运行,我无法解决这个问题,第二次调用让我有些悲伤,所以我对任何可能控制它的策略感兴趣。

    【讨论】:

    • 你有没有发现什么可以做的?这些重复的查询触发了我的滥用过滤器。我使用其他浏览器的客户都很好。
    【解决方案3】:

    我找到了导致我的问题的原因,也可能是您的问题:我使用了名为 Web Server NotifierWeb Technology Notifier 的 Google Chrome 扩展程序,它们提出了自己的请求。

    停用它们后,我每页只收到一个请求。

    【讨论】:

    • 这对我来说似乎也是如此。只有我使用的扩展是 ezLinkPreview。
    • 这在 2018 年底显然仍然是一个问题。每个请求我都会重复 5 或 6 次。检查扩展程序是否是罪魁祸首的一种简单方法是在隐身窗口中打开您的网站,这会禁用扩展程序。
    【解决方案4】:

    问题可能与这个问题有关:http://news.ycombinator.com/item?id=1872177

    Chrome 正在其开发人员构建中尝试一些激进的策略(我认为这很酷)。他们正在做的是推测性地打开服务器的套接字,如果他们的第一次尝试没有足够快地得到响应,也会打开第二个套接字。很容易看出这些东西中的错误,甚至只是预期的行为,可能会触发滥用过滤器。但是,正如我所说,我认为这是值得的。如果网络速度更快,所有这些网络初创公司都会赚更多的钱。

    如果您的 Rails 应用响应速度不够快,则可能是 Chrome 正在尝试其他方法为用户取回内容;您可能无能为力。您的响应时间非常快,但取决于连接的启动时间,这可能是问题的一部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多