概述Push API 允许浏览器在前台/后台接收服务器推送的消息;结合 Service Worker 与 Notification 提升用户触达。VAPID 作为应用服务器标识协议,为 Web Push 增加身份信任与安全层。订阅与接收在 Service Worker 注册后,通过 `PushManager.subscribe()` 订阅,`applicationServerKey` 传入 VAPID 公钥;监听 `push` 与 `pushsubscriptionchange` 处理消息与订阅更新[参考1,3,4]。端点 URL 唯一且需保密,避免被滥用发送消息[参考1]。VAPID 与发送VAPID 让应用服务器以公钥/私钥对向推送服务标识身份,发送包含签名的 JSON Web Token 与消息;常用 `web-push` 库生成密钥与发送[参考2,5]。安全注意订阅接口需防 CSRF/XSRF;服务端验证来源与权限;仅在用户同意后发送可见通知(`userVisibleOnly: true`)。参考与验证[参考1]MDN 中文:Push API 概览与 Service Worker 事件:https://developer.mozilla.org/zh-CN/docs/Web/API/Push_API[参考2]PWA 实战:Web Push 与 VAPID 说明与示例(`web-push`):https://lavas-project.github.io/pwa-book/chapter06/4-web-push-api.html[参考3]MDN 中文教程:PWA 可重参与与推送通知(VAPID 与订阅):https://developer.mozilla.org/zh-CN/docs/Web/Progressive_web_apps/Tutorials/js13kGames/Re-engageable_Notifications_Push[参考4]MDN 英文:Push API 文档与示例:https://developer.mozilla.org/en-US/docs/Web/API/Push_API[参考5]MDN 英文教程:VAPID 与 Web Push 发送说明:https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps/Tutorials/js13kGames/Re-engageable_Notifications_Push关键词校验关键词与 Web Push/VAPID 主题一致。

发表评论 取消回复