Push API和Server Sent Events之间有什么区别?

Ris*_*tta 21 html5 push-notification server-sent-events web-push push-api

从文档中我可以看出Push APIServer Sent Events 都是半双工但为什么两种不同的技术具有相同的功能?Push API中有更重要的东西吗?

Mar*_*rco 15

Push API允许服务器向客户端发送通知,即使您的站点未打开,因为它依赖于服务工作者.

只要用户使用您的站点,SSE(或WebSockets)就可以正常工作.

ServiceWorker CookbookWeb Push部分中有一些示例(包含文档)可以帮助您更好地理解这一点.


use*_*ser 9

您使用Server Sent Events直接连接到您的网站,这很容易.

Web Push技术要复杂得多,用户的浏览器与浏览器供应商的推送服务器保持一个连接,该服务器收集并传送来自网站的所有推送(多路复用).由于邮件通过第三方服务器,因此应加密.要使用Push API,您(在客户端)获取特定于浏览器的供应商的端点URL,生成公共加密密钥,然后将其发送回服务器以供使用.然后在您想要推送的服务器上,使用密钥加密消息并将其推送到端点.

Web推送的一般信息

Firefox维护与推送服务的活动连接,以便在打开时接收推送消息.

这是Web Push的主要优势 - 您可以在用户打开浏览器时发送通知,他不必访问您的站点.缺点是您需要获得用户对此订阅的许可.另一个缺点是它目前还远未获得广泛支持.

关于Push API的技术信息