如何处理chrome发送额外请求?

Cg *_*ive 37 google-chrome cross-browser

谷歌浏览器发送多个请求以获取页面,这显然不是一个错误,而是一个功能.我们作为开发人员必须处理它.

至于我可以在五分钟内挖出来,chrome就是为了让冲浪更快,所以如果一个连接丢失,第二个将接管.

我想如果网站发展得很好,那么它的功能就不会受到影响,因为多个请求并不是新的.

但我只是不确定我是否已考虑到此功能可以产生的所有情况.

会有什么特殊情况吗?有什么最好的做法来处理它们吗?

更新1:现在我明白为什么当我用chrome打开页面时,我的银行页面会出错!它说:"只有一个浏览器窗口应该打开." 那是他们解决安全威胁的方法吗?!!

Pet*_*ter 15

您最好的选择是遵循标准的Web开发最佳实践:不要因GET调用而更改应用程序状态.

如果您担心我建议更新您的数据层单元测试以重复GET调用并确保它们返回相同的数据.

(顺便说一句,我没有看到Chrome 8.0.552.224的这种行为是非常新的?)


fkl*_*fkl 14

我在编写服务器应用程序时看到了遭受的行为,发现早期的答案可能不正确.

Chrome会将单个请求分发到多个http请求以并行获取资源.在这种情况下,它是一个图像,它作为单独的http get获取.

我通过wireshark附加了数据包捕获的屏幕截图.

这是一个简单的get请求到端口8080,我的服务器返回一个hello消息.

Chrome会发送第二个get请求,以获取您在每个打开的标签页上看到的收藏夹图标.这不是第二次得到满足时间或任何此类事情.

它应该被视为不同浏览器的另一个元素.

这是我发现后者的参考问题

Chrome会发送两个请求

chrome请求最喜欢的图标

谷歌代码上的Chrome问题


小智 6

它也可能由link具有空href属性的标签引起,至少在 Chromium (v41) 中是这样。例如,以下每一行都会在页面上生成一个额外的查询:

<link rel="shortcut icon" href="" />
<link rel="icon" type="image/x-icon" href="" />
<link rel="icon" type="image/png" href="" />
Run Code Online (Sandbox Code Playgroud)

它的接缝寻找页面空属性是一个很好的起点,无论是hrefsrc