Html 推送API和服务器发送事件之间有什么区别?

Html 推送API和服务器发送事件之间有什么区别?,html,push-notification,server-sent-events,web-push,push-api,Html,Push Notification,Server Sent Events,Web Push,Push Api,从文档中我可以看出,和都是半双工的,但为什么两种不同的技术具有相同的功能? 推送API中是否有更重要的内容?推送API允许服务器向客户端发送通知,即使您的站点未打开,因为它依赖于服务人员 只要用户使用您的站点,SSE(或WebSockets)就可以工作 的Web推送部分中有一些示例(附带文档)可以帮助您更好地理解这一点。您可以使用服务器发送的事件直接连接到您的网站,这相当简单 Web推送技术要复杂得多,用户的浏览器与浏览器供应商的推送服务器保持一个连接,该服务器收集并提供来自网站的所有推送(多路

从文档中我可以看出,和都是半双工的,但为什么两种不同的技术具有相同的功能?
推送API中是否有更重要的内容?

推送API允许服务器向客户端发送通知,即使您的站点未打开,因为它依赖于服务人员

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


Web推送部分中有一些示例(附带文档)可以帮助您更好地理解这一点。

您可以使用服务器发送的事件直接连接到您的网站,这相当简单

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

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

这是Web推送的主要优点-用户打开浏览器时,您就可以发送通知,而不必访问您的站点。缺点是您需要获得用户对此订阅的权限。另一个缺点是它目前还远没有被广泛应用


我也很困惑,但刚刚发现push api团队提到了服务器发送事件。