angular - 为什么 Chrome 在使用 Angular Service-Worker 时会显示重复的 HTTP 请求?
问题描述
当 chrome 在启用 angular service-worker 的情况下发出 HTTP 请求时,我在 Chrome 网络选项卡中看到如下内容:
- 为什么 chrome 网络选项卡会为每个请求显示两个请求,一个 fetch,一个 xhr?(我在服务器上只看到一个请求)
- 为什么 fetch 请求没有响应数据?
- 每个请求的持续时间和大小是否准确?
我正在关注官方的服务人员指南,并且使用的是最新的 Angular 9。
铬版本:81.0.4044.129
火狐版本:76.0
解决方案
Service Worker 正在处理这个请求,就像代理一样。原始请求被驳回。发生这种情况是因为 SW 正在缓存响应(如图像、样式或路由)以获得更好的性能 - 而不是一直从服务器下载资源(但这可以在 中更改Service worker configuration
),SW 正在从浏览器缓存中为它们提供服务。即使用户离线,它也能正常工作——这就是路由工作的原因,因为服务工作者正在从缓存中提供 html,并且可以访问该站点
推荐阅读
- c# - 如何使用 ContentPushStream 在 C# 中播放块音频?
- javascript - 我在订单表中的 line_items 数组中有 product_id,我想使用 vue.js 在 laravel 中针对此 product_id 显示产品名称
- javascript - 递归计算重复值
- python - 如何从一系列单值中正确构建张量数组数据集 - tensorflow新手
- java - Java 隐式转换 int 和 char
- javascript - 将 select 动态更改为 select2
- javascript - 是否可以故意阻止 JavaScript 呈现 HTML?
- javascript - Gatsby 在开发过程中工作正常,但在构建过程中抛出错误
- python - 在 Python (Windows 10) 解释器中,我收到 plt.show() 的“无效语法”错误。我该如何纠正它?
- groovy - 运行 H2 时出现 DB2 语法错误“DAYOFWEEK_ISO”(在 DB2 模式下)