【问题标题】:What does "Request to ServiceWorker" operation refer to?“Request to ServiceWorker”操作指的是什么?
【发布时间】:2019-01-06 17:17:27
【问题描述】:

我正在编写一个渐进式 web 应用程序并实施了一个陈旧的同时重新验证策略来处理应用程序发送的一些请求。

检查 devtools 中的网络选项卡,我看到这些请求被正确标记为已服务from ServiceWorker。不过有的似乎很长(从200ms到500ms),所以我查看了时间细节,发现大部分时间都花在了Request to ServiceWorker

这个link 告诉我们Request to ServiceWorker 指的是“The request is being sent to the service worker.”,但它并没有告诉我们在这个阶段实际发生了什么,以及我们是否可以做些什么来优化它。

在网上搜索,我没有找到更多的细节(只有以前的stackoverflow post 描述了类似的问题)。

有人知道Request to ServiceWorker 阶段的实际情况吗?

【问题讨论】:

  • 你说得对,“对 ServiceWorker 的请求”是指 Service Worker 需要完成的运行时,例如推送通知和后台同步。这里有一些链接可以帮助您优化 Service Worker(High-performance service worker loadingHTTP Caching)。
  • 感谢您的评论!但是,我仍然不清楚:“服务工作者需要完成的运行时”与“推送通知”或“后台同步”之间的联系是什么? “需要完成运行时”是什么意思?无论如何,谢谢分享:)
  • 从请求开始到该请求的承诺完成的时间
  • 后台同步和推送通知是 service worker 支持的一些功能

标签: javascript chromium service-worker progressive-web-apps


【解决方案1】:

感谢@Mr.Rebot 和铬人,我想我现在明白了:

Request to Service Worker 在服务工作线程内测量。它在 service worker 接收到一个 fetch 事件时开始,并在 e.respondWith 解析时结束(= HTTP 标头可用,但正文尚不可用)。

另一方面,Content Download 计算读取正文所需的时间(= 从 header available 到正文 has been read

【讨论】:

    猜你喜欢
    • 2016-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-12
    • 2010-11-07
    • 1970-01-01
    相关资源
    最近更新 更多