2018/01/14

我们常常用是否使用HTTPS来评论用户体验和网站声誉的好坏,但开发一个具备先进功能的网站或许是更令人信服的理由。目前至少有一个主流浏览器要求其10个功能的使用者采用HTTPS(包括HTTP/2和Brotili压缩),并计划在未来的某个时候把现有的三个功能也限制到HTTPS。本文将概括那些“仅限HTTPS”的功能背景,以及即将加入“豪华午餐”更多特性。

安全内容的重要性

谷歌最初建议在2014年将特定功能限制在HTTPS上。他们意识到,网站开始提供具有浏览器功能(如网络摄像头支持和本地数据存储)的本地应用程序的可比较体验。这对那些有钱的Web应用来说是件好事,但同时也暴露了,如果这些功能被中间人或其他网络干扰或篡改,安全风险会成为一种必然。

设想一个用户连接到你的网站,网络上的其他人可以通过你的摄像头或麦克风进行窃听。或者更糟,这个网络攻击者直接用HTTP注入来制作一个访问用户网络摄像头的请求。

自谷歌最初的概念以来,他们的提议已经演变成了“安全内容”——一个W3C草案,寄希望于把这些高级浏览器功能的安全访问变成互联网标准。

尽管这只是一个草案,一些新功能和标准已经被设计为从一开始就要使用HTTPS。所有的主流浏览器都要求网站使用HTTPS和HTTP/2。这意味着,如果你还在用未加密的HTTP,那些高大上的新功能就和你的网站不沾边了。

其他主要标准,如Brotli,一种比gzip性能更好的压缩算法以及谷歌的AMP,都是围绕着HTTPS支持而设计的。

随着需要使用HTTPS的功能、标准和API的数量的不断增加,浏览器对HTTPS未来的关注也不断递进着。跟踪哪些功能需要使用HTTPS以及如何影响特定的浏览器可能很难。 此表汇总了所有这些信息,包括计划成为HTTPS的现有功能。 即使你没有在网站上使用这些功能,也不失为长见识的一次机会。

当某个功能仅在浏览器中使用HTTPS时,我们会列出版本号,并附带一个指向更改文档的链接。 如果某个功能完全不受支持,或者允许通过HTTP,我们会注意到任何可能的限制该功能的计划。 这个列表将会随着浏览器的新公告而更新。

功能/标准: “仅限HTTPS”开始日期: 简介:
AMP
(加速移动页面)
从推出时就包含的部分功能 AMP是谷歌家的开源标准,用于移动端网页。许多AMP功能,包括iframes,嵌入式视频以及带入广告,均要求HTTPS。
Bluetooth网页蓝牙 从推出时就包含的功能 此API仅在Chrome中能用
Brotli 从推出时开始 一种新型压缩技术。在Chrome 50和 Firefox 44中支持。
getUserMedia(网络摄像头和麦克风) Chrome 47
部分功能在Firefox中支持
Firefox允许getUserMedia使用HTTP,但是每次都要询问用户是否允许,不能默认设置。


在Chrome里,语音识别API也是要求必须使用HTTPS的。

地理位置信息 Chrome 50
Firefox 55

HTTP/2 从推出时开始 尽管在HTTP / 2标准中没有明确要求,但是每个主要浏览器(Chrome,Firefox,Safari和Edge)都需要HTTP / 2的HTTPS。
EME (加密媒体扩展) Chrome 58 Firefox计划要求HTTPS中。
推送提醒 Chrome 62 该API在Firefox中允许HTTP。
支付请求API
(网页支付)
从推出时开始 该API也属于谷歌亲儿子,在Firefox中还不支持。
Service Workers 从推出时开始
Web Crypto Chrome 60 Firefox计划要求HTTPS