【问题标题】:Service worker on a not fully HTTPS webapp不完全 HTTPS webapp 上的服务工作者
【发布时间】:2018-11-06 22:40:00
【问题描述】:

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

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

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

提前感谢您的澄清!

编辑

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

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

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

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

【问题讨论】:

    标签: http https service-worker web-push secure-context


    【解决方案1】:

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

    他们很快回复说可以从 HTTPS 页面注册,即使网站的其余部分是 HTTP,只要它位于 secure context 中。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-07
      • 1970-01-01
      • 1970-01-01
      • 2015-05-07
      • 2018-04-07
      • 1970-01-01
      相关资源
      最近更新 更多