0

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

您只能在通过 HTTPS 提供的页面上注册 Service Worker,因此我们知道浏览器接收到的 Service Worker 在其通过网络的过程中没有被篡改。

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

提前感谢您的任何澄清!

编辑

我在 w3c Github 上找到了这个对话,它说服务工作者应该通过 HTTPS 提供服务,据我了解,只要通过 HTTPS 提供与服务工作者的通信,就有可能拥有其他 HTTP 页面,我明白了吗对?

从关于规格的辩论中,@jyasskin 说:

如果请求 SW 的页面不安全,并且 SW 是 https 但在攻击者控制的域上,那么您根本没有任何收获。是的,整个应用程序都需要是 https。

但这是在服务工作者规范完全设置之前说的,所以不确定这是否是指定的最终方式。

4

1 回答 1

0

我已经在 github 上直接打开了一个与这个特定问题相关的问题

他们很快回应说,即使网站的其余部分是 HTTP,也可以从 HTTPS 页面注册,只要它处于安全上下文中

浏览器会将 https 和 http 页面视为 2 个不同的网站,并且服务人员将无法控制 http 页面。

于 2018-05-30T15:02:39.590 回答