





















一年之前,我发表过一篇文章:全面 HTTPS 时代即将到来。到现在,HTTPS 又有什么新变化呢?本文就来一起探索 HTTPS 在 2016 年的变化以及今后的发展可能。
HTTPS 是加密了的 HTTP 协议,网址以 https:// 开头,就代表是使用了这个协议。 HTTPS 相比 HTTP,拥有全部的以下特性:
由于 HTTPS 要完成身份验证,所以若需要配置 HTTPS,就必须要取得被公认的证书颁发商颁发的证书。
部署 HTTPS 必须要拥有 SSL 证书,而 SSL 证书的价格区间在每年几百甚至上万元不等,高昂的证书价格成为了部署 HTTPS 的一个重大负担。2015 年末,Let’s Encrypt 正式开始公测,可以免费签发多域名的证书,此类证书原先的价格在百元到千元左右。即使是在测试阶段,仅仅 3 个月时间就签发了 100 多万张证书! Let’s Encrypt 的证书使用自动化部署,验证、签发过程均通过 API 自动实现,大大缩短了申请证书所需要的时间;同时各种服务提供商也纷纷提供了自动签发 Let’s Encrypt 证书的渠道。由于 Let’s Encrypt 的出现,确实大大加快了 HTTPS 的普及。
在 2015 年初,HTTP/2 正式成为标准,紧接着各大浏览器和操作系统纷纷支持:Firefox 36、Chrome 41、iOS 9 & macOS 10.11(Safari 9)、Windows 10(IE 11 & Edge)。紧接着,Cloudflare、CloudFront、UPYUN 这些 CDN 提供商也纷纷支持了 HTTP/2,HTTP 服务器 Nginx 和 Apache 也对其做了支持。 HTTP/2 的出现是为了取代 HTTP 1.1 和 SPDY。HTTP/2 主要是支持了多路传输,原本需要合并 CSS 和 JS 文件、为众多的图片准备多个域名的做法,使用了 HTTPS/2 之后就没什么必要了。相比 HTTP 1.1 的每一个数据需要单独的一个连接,HTTPS/2 中网站的所有数据只需要一个连接。
由于浏览器会限制连接数量,这就会导致在 HTTP 1.1 中,每次只能同时下载几个文件。多路传输可以让这些文件一块儿传输,大大减少加载时间。
然而,这些浏览器里只是针对 HTTPS 站点做了 HTTP/2 的实现。于是想到让网站提高加载速度,又不得不用 HTTPS。所以,HTTP/2 的出现也推进了 HTTPS 的发展。
现在,Chrome 已经开始对使用了 HTTPS 的网站显示 “安全” 字样(EV 证书这个地方则显示企业名称):
在未来的某一个版本中,对于无 HTTPS 的网站,最终将会这样显示(对于所有 HTTP 网站,未来不同的版本显示的过程是:灰色叹号、红色警报叹号、红色警报叹号 + “不安全字样”;有信用卡或密码提交的会先进行这类显示。下图是最终的第三阶段):
你也可以在 Chrome 设置页面将其调整为 “一律将 HTTP 网页标为不安全”。我推荐所有人都这样设置,因为 HTTP 确实是毫无安全可言! 相信没有公司愿意让用户看到自己的网站被标记为 “不安全” 吧?浏览器的推进起到至关重要的作用。
在最新的 Chrome 58 版本里,非 HTTPS 的密码输入处已经显示这样的信息(此处为 weibo.com 的网站登陆窗口):
经测试,只要主站是 HTTP,即使表单是提交到 HTTPS 页面,也会显示此信息。
2015 年末的时候,苹果就开始实施 ATS,然而开发者仍能找到选项去关闭这个功能。而在 2017 年或之后某个时刻后(具体 deadline 苹果尚未明确给出,不过可以确定的是不开 ATS 审核会逐渐变严格,并要求提供更多的理由),所有新提交的 APP 必须开启 ATS,也就是说新提交的 APP 必须全部使用 HTTPS 内容了。这促使着众多国内厂商去做 HTTPS 支持。
本站特别推荐的虚拟主机提供商 TlOxygen 现在就支持申请免费 SSL 证书了。整个过程十分简单,并且会自动续签!实现方式:自动为虚拟主机安装 acme.sh 软件,然后自动执行安装流程。此外,TlOxygen 的虚拟主机支持 SSH 访问,所以你也可以自行使用 acme.sh 或者任何其他工具操作。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。