`title: Service Worker 运行时资源校验与回退策略``categories: Web 开发/前端/数据管理``keywords: Service Worker,完整性,校验,回退,Cache Storage``description: 在 Service Worker 中对关键资源进行运行时校验(如 SHA-256),失败时回退到缓存或安全占位,保障稳定性。`校验示例self.addEventListener('fetch', (event) => { const req = event.request; if (req.destination === 'script' || req.destination === 'style') { event.respondWith((async () => { try { const res = await fetch(req); const buf = await res.clone().arrayBuffer(); const hash = await crypto.subtle.digest('SHA-256', buf); // 可与预期哈希比对(来自清单或响应头) return res; } catch { const cached = await caches.match(req); return cached || new Response('', { status: 503 }); } })()); } }); 策略关键资源强校验,非关键弱校验;失败快速回退与告警。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部