我尝试为网页设置推送消息。虽然我理解前端部分(Push API)并且有一个有效的localhost演示应用程序,但我只是不知道服务器如何将消息推送到浏览器。
推送服务的包如何路由到客户端?客户端没有域名,通常没有固定的IP地址,那么这怎么可能呢?
我已阅读Google's guide to Web Push Libraries以及RFC 8030的部分内容,但如果他们能够回答这个问题,那么我就无法理解。
答案 0 :(得分:2)
您的应用程序服务器使用浏览器端点作为URL发出POST请求。
浏览器端点类似于:https://updates.push.services.mozilla.com/A_VERY_LONG_TOKEN_123
。这意味着POST请求被发送到浏览器制造商拥有的Web服务(例如,Firefox的Mozilla autopush)。
然后浏览器推送服务负责将消息传递到浏览器。它是与浏览器推送服务建立持久连接的客户端。还要考虑一旦建立TCP连接,就会得到一个全双工/双向通道(服务器可以在没有客户事先请求的情况下发送消息)。