Google Chrome:本地主机上的 HTTP GET,加载时间不一致

And*_*dos 5 javascript google-chrome

在我的 Angular2 项目中,我有一个通过 HTTP 加载 JSON 数据的组件,并将其作为网格显示在页面上。网格具有分页功能,每次请求新的网格页面时,组件都会执行新的 HTTP GET。开发站点托管在本地主机上,Web 服务也是如此,但它们使用不同的端口号。

该组件工作正常,没有任何错误。然而,我注意到在 Google Chrome 中,HTTP GET 响应时间似乎没有明显原因地上下波动。这只发生在 Chrome 中。在 Firefox 中没有任何问题。

当我部署网站上线时,Chrome 或 Firefox 中没有任何问题,因此此问题特定于 Chrome + 我的开发环境/可能是本地主机 URL。

这是我在开发网站上的 Google Chrome 网络选项卡的屏幕截图: 在此输入图像描述

如果查看“时间”列,您可以看到每个连续请求的时间在大约 80 毫秒到 380 毫秒之间波动。380 毫秒几乎长了 5 倍,因此正如您所期望的那样,每次响应速度较慢时,网格组件刷新都会明显延迟。同样,这只发生在 Chrome 中。

深入挖掘,下面是慢速 HTTP GET 的时间截图: 在此输入图像描述

从上面的示例中可以看到,Web 服务的响应时间约为 75 毫秒,但 Chrome 报告整个操作花费了 377 毫秒?!看看时序,我不知道 377ms 从何而来,因为其他数字加起来显然不等于 377ms。然而,从视觉上的时间条来看,DNS Lookup和之间存在着巨大的差距Initial Connection

而且,这是更快的 HTTP GET 的屏幕截图: 在此输入图像描述

从上面的时间安排中可以看出,没有DNS lookupInitial Connection部分,就像上一个屏幕截图中的那样,这有点奇怪?

有人对我如何在这里确定和解决问题有任何建议吗?

任何帮助将不胜感激 :)

And*_*dos 3

快速更新:我最终通过为我的开发站点使用不同的主机名解决了这个问题。

我添加127.0.0.1 testsite到我的主机文件中,然后将我的开发服务器 URL 更改为http://testsite:3000. 我之前使用的是http://localhost:3000. 之后,HTTP GET 全部下降到一致的 80 毫秒左右,并且开发人员工具的“网络”选项卡中不再出现 DNS 查找问题。

不太确定来源,但用作localhost主机在某处引起了问题。