我正在使用 Service Worker 设置我的 preactjs 网站。
我只是查看它存储在缓存存储中的缓存项,我期望的条目都在那里,但它们的响应为空。
我与服务人员一起检查了其他一些网站,发现他们的条目的响应为“OK”。
只是想知道什么是触发条件,使缓存响应显示“OK”而不是空白。
我发现的另一个例子,其中一些返回 OK,另一些返回空白
最佳答案
Chrome 缓存存储查看器中的“Response”列旨在反射(reflect)关联 Response
对象的 statusText
字段的值。传统status line成功响应为“200 OK”,因此“OK”是其中的 statusText
部分。您可以通过使用不同的 statusText
存储 Response
来查看此操作,例如:
有时,没有列出“确定”,这是因为响应
是 opaque ,并且 statusText
不可访问。第二个屏幕截图中的字体资源就是这种情况。
话虽这么说,我见过一些不透明的响应(例如第一个屏幕截图中的那些 sw-precache
管理条目)的情况,没有 statusText
反射(reflect)正确。在这些情况下,您的网络服务器可能只是响应“200”状态行而不是“200 OK”,这将转换为 status
为 200
和''
的 statusText
。对于网络服务器来说,这是一个完全有效的状态行,只要条目被成功使用,我认为您不需要担心它。
关于caching - 应用程序缓存存储项目有空响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41920849/