在我的应用程序中,我设置了一个 cookie,然后调用 fetch('/foo', {credentials: 'same-origin'})
。这是在使用 caches
缓存请求和响应的 service worker 中拦截的。响应设置了 Vary: Cookie
。然后,我更改 cookie 并如上所述再次调用 fetch
。但是当我在 service worker 中调用 caches.match
时,旧的请求被匹配了!为什么会这样?我可以修复它吗?
最佳答案
我不能评论(低代表)所以我在这里发帖。
Service workers 无法拦截 cookie。有一个提议new api in development .
为什么不尝试根据 cookie 的内容为您的请求设置自定义 header 。
请求 1:
X-Cookie-值:1
变化:X-Cookie 值
请求2:
X-Cookie-值:2
变化:X-Cookie 值
关于javascript - 为什么不变化 : Cookie work in a service worker?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43845286/