不完全 HTTPS webapp 上的 Service Worker

Service worker on a not fully HTTPS webapp

我目前正在实施 Firebase 以在 不完全 HTTPS 网络应用程序上发送 Webpush 通知。由于 webpsuh 使用 service worker,我做了一些研究并在 Google Developers website 上指出:

You can only register service workers on pages served over HTTPS, so we know the service worker the browser receives hasn't been tampered with during its journey through the network.

这是否意味着即使网站的其余部分是 HTTP,也可以从 HTTPS 页面注册服务工作者

提前感谢您的澄清!

编辑

我在 w3c Github 上发现了这个 conversation,它说服务工作者应该通过 HTTPS 提供服务,据我所知,只要通信就可以有其他 HTTP 页面service worker 是通过 HTTPS 服务的,我做对了吗?

来自debate关于规格,@jyasskin 说:

If the page requesting the SW isn't secure, and the SW is https but on an attacker-controlled domain, you haven't gained anything at all. Yes, the whole app will need to be https.

但是这是在 service worker 规范完全设置之前说的,所以不确定这是否是最终指定的方式。

我已经在 github 上直接打开了与此特定问题相关的 issue

他们很快回应说可以从 HTTPS 页面注册,即使网站的其余部分是 HTTP,只要它在 secure context.

虽然浏览器会将 https 和 http 页面视为 2 个不同的网站,但 service worker 将无法控制 http 页面。