查看原文
其他

​这次可能真要和 HTTP 说再见了

The following article is from code秘密花园 Author ConardLi

就在 8.16 号,Chromium 官方博客宣布了未来将尝试将所有的网站协议默认导向 HTTPS (就算用户主动使用 HTTP 访问也会如此) ,目前已经在 Chrome 115 版本开启了试验。

大家应该能感觉的到,在过去的几年中大部分网站都在将 HTTP 协议转向 HTTPS ,因为 HTTP 协议在网络上是明文传输的,在网上很容易被劫持或篡改,而 HTTPS 协议可以保障请求数据的加密传输。

根据 Chrome 的统计,超过 90% 的用户已经开始使用 HTTPS 协议浏览网站。

各大平台使用 HTTPS 协议的占比:

使用 HTTPS 协议浏览时间占比:

排名前 100 的网站默认启用 HTTPS 协议,以及支持 HTTPS 协议的网站数量:

这意味着,当前大多数的网站流量都经过了加密和身份验证,可以免受一些黑客的网络攻击。但是,现在仍有 5-10% 的流量顽固地保留在 HTTP 上,从而让攻击者能够窃听或更改这些请求的数据。

当与网站的连接不安全时,Chrome 会在地址栏中显示警告,但这是远远不够的,很多人都不会注意到,而且就算注意到可能数据已经被攻击过了。

一个好的网络环境应该是默认安全的,HTTPS 优先模式可以让 Chrome 能够在不安全地连接到网站之前获得我们的明确许可,从而兑现这一承诺。

Chrome 的目标是最终默认为每个用户都启用这个模式。虽然很多网站可能还没有准备好默认启用 HTTPS 优先模式(比如网站如果没有正确配置 TLS 证书,使用 HTTPS 访问直接就挂掉了),所以下面 Chrome 将会启用几个过渡能力。

HTTPS 自动升级

Chrome 会自动将所有 http:// 协议的访问默认升级为 https://,即使我们明确使用了  http:// 协议去访问网站。

这其实和 HSTS(一个 HTTP HeaderStrict-Transport-Security ,会讲所有的 HTTP 流量默认转向 HTTPS) 的原理非常相似,你可以理解成给所有的网站都默认加了 HSTS

但它比 HSTS 更友好一点,Chrome 会检测这些默认的升级是不是会失败(例如,由于网站提供了无效的证书或返回 HTTP 404),然后自动回退到 http://。这个更改可以确保 Chrome 仅在 HTTPS 确实不可用时才使用不安全的 HTTP,而不是因为我们点击了过时的不安全链接。目前 Chrome 115 版本正在试验这一更改,并且努力标准化整个网络的行为,可能很快就会对所有网站默认开启了。

虽然这个更改也没有办法完全防范主动的网络攻击,但它是我们迈向 HTTPS-First 模式的踏脚石,并且可以保护更多的流量免受被动的网络窃听和篡改。

不安全下载文件警告

目前,Chrome 已经删除了对混合下载(HTTPS 协议的网站下下载 HTTP 的内容)的支持。

然后, Chrome 将在通过不安全的连接下载任何高风险文件之前开始显示警告。下载的文件可能包含绕过 Chrome 沙箱和其他保护的恶意代码,当发生不安全的下载时,网络攻击者可能会危害你的计算机。

这个警告其实还是告知大家正在承担的安全风险。如果你愿意承担风险,仍然可以下载这个文件。

在启用 HTTPS-First 模式之前,Chrome 在不安全下载图像、音频或视频等文件时不会显示警告,因为这些文件类型相对安全,不过预计从 9 月中旬这些文件类型也会开始警告。

逐步推出 HTTPS-First 模式

因为整个网络最终的目标还是为所有人都启用 HTTPS-First 模式,但是为了把影响降低到最小,可能先在下面的领域逐步推出:

  • 已注册 Google 高级保护计划并登录 Chrome 的用户启用 HTTPS-First 模式;
  • 即将在隐身模式下默认启用 HTTPS-First 模式;
  • 正在探索为很少使用 HTTP 协议的部分用户自动启用 HTTPS-First 模式;

如果你想马上享受最安全的网络环境,也可以到 chrome://settings/security 启用 Always use secure connections 来启用 HTTPS-First 模式~

最后

祝愿整个网络环境中再无 HTTP !再无劫持、篡改、窃听 ~

参考:https://blog.chromium.org/2023/08/towards-https-by-default.html


👇🏻 点击下方阅读原文,获取鱼皮往期编程干货。


往期推荐

又一个新项目完结,炸裂!

坏了,员工开始摸鱼玩幻兽帕鲁了。。

我做了几个项目,还是啥都不会?

我们做的小工具上线啦!

JDK11 与 JDK8,有哪些特性差异?

实现前端国际化,就这么简单~

继续滑动看下一个

​这次可能真要和 HTTP 说再见了

向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存