使用 HTTPS 的原因是什么?

浏览器将非 HTTPS 网站标记为“不安全”,这只是保护网站的众多理由之一。

学习目标

阅读本文后,您将能够:

  • 概述 HTTPS 流量的变化
  • 说明 HTTPS 的谬论和真相
  • 了解使用 HTTPS 的原因

相关内容


想要继续学习吗?

订阅 TheNET,这是 Cloudflare 每月对互联网上最流行见解的总结!

参阅 Cloudflare 的隐私政策,了解我们如何收集和处理您的个人数据。

复制文章链接

HTTP 和 HTTPS 有什么区别?

HTTPS 是支持 TLS 加密HTTP。HTTPS 使用 TLS (SSL) 来加密普通的 HTTP 请求和响应,使它变得更加安全。使用 HTTPS 的网站的 URL 开头带有 https://,而非 http://,例如 https://www.cloudflare.com。

那么,为什么网站应该使用 HTTPS

原因 1:使用 HTTPS 的网站更受用户信赖。

网站使用 HTTPS 就如餐馆展示“已通过”本地食品安全检查的标识一般:潜在的顾客可以放心,他们光顾这家店不会遭受巨大的负面影响。现如今,使用 HTTP 本质上就像展示自己“未通过”食品安全检查一样:无法保证顾客不会有可怕的遭遇。

HTTPS 使用 SSL/TLS 协议对通信进行加密,使攻击者无法窃取数据。SSL/TLS 还可确认网站服务器是其真实身份,从而防止假冒。这可以阻止多种网络攻击(就像食品安全可以预防疾病一样)。

即使某些用户可能不知 SSL/TLS 的好处,现代浏览器仍在确保它们清楚网站的可信赖性,不论程度如何。

Chrome 和其他浏览器将所有 HTTP 网站标记为“不安全”。

多年来,Google 逐步采取措施使网站逐渐整合 HTTPS。Google 还在返回搜索结果时将 HTTPS 用作一个质量因素;网站越安全,访问者通过点击 Google 提供的链接而犯错的可能性就越小。

从 2018 年 7 月发布的 Chrome 68 开始,所有不安全的 HTTP 流量在 URL 栏中都会标记为“不安全”。对于没有有效 SSL 证书的网站,也都会显示此通知。其他浏览器也纷纷效仿。

原因 2:HTTPS 更为安全,不论是对于用户还是网站所有者。

使用 HTTPS 时,数据在传输的两个方向上都会得到加密,不论是传到源服务器还是从中传出。协议确保通信安全,使恶意方无法观察到正在发送的数据。因此,用户在表单中输入的用户名和密码不会在传输过程中被盗取。如果网站或 Web 应用程序必须向用户发送敏感数据或个人数据(例如,银行帐户信息),则加密也可以保护这些数据。

原因 3:HTTPS 验证网站的身份。

Uber 和 Lyft 等共享出行应用的用户不会仅仅是因为司机说可以来接他们,就毫不怀疑地坐进陌生的汽车。相反,应用会告诉他们司机的相关信息,如姓名和外貌、驾驶的车型和车牌号等。用户可以检查这些信息,并确定他们将会进入正确的汽车,尽管每辆共享出行汽车各不相同,而且他们从未见过司机。

同样,当用户导航到网站时,他们实际上在做的事情就是连接他们不认识的、由未见过的人维护的远程计算机。SSL 证书实现 HTTPS,与共享出行应用中的司机信息类似。它代表由可信赖的第三方进行了外部验证,证明 Web 服务器是其声称的身份。

这可以防止下面这样的攻击:攻击者假冒或伪造网站,使实际上处于虚假站点上的用户以为他们是在原本要访问的站点上。HTTPS 身份验证还可发挥更多作用来帮助公司网站拥有合法的形象,而这会影响用户对公司本身的态度。

HTTPS 迷思

许多网站采用 HTTPS 的速度都很慢。若要探究其原因,我们必须回顾一下历史。

当 HTTPS 最初开始推广时,正确实施不仅困难、缓慢,而且代价昂贵;由于需要昂贵的证书服务,因此难以正确实施,而且会减慢 Internet 请求并增加成本。这些障碍如今都已不复存在,但对于许多网站所有者而言,仍有挥之不去的担忧,而这阻碍了一些人跨步迈向更好的安全性。我们来探索一些 HTTPS 的谬论。

“我的网站上不处理敏感信息,所以不需要 HTTPS”

网站不实施安全性的一个常见原因是,他们认为这样做是大材小用。毕竟,如果不涉及敏感数据,有谁会在乎有没有人窥探?出于某些原因,这是将 Web 安全性过于简单化的看法。例如,某些 Internet 服务提供商实际上会将广告注入到由 HTTP 服务的网站中。这些广告或许与网站内容相称,或许不符,并有可能令人反感,不仅仅是网站提供商没有创造性的投入或收益分成。一旦站点设有安全保护,这些注入的广告将不再可行。

如今,现代 Web 浏览器限制了不安全站点的功能。提高网站质量的重要功能需要 HTTPS。地理位置、推送通知和运行渐进式 Web 应用程序(PWA)所需的服务工作器都需要更高的安全性。这很有道理;用户位置等数据属于敏感数据,可被用于恶意目的。

“我不想增加页面加载时间,让网站的性能受损”

性能是用户体验以及 Google 如何返回搜索结果的重要因素。可以理解,增加延迟值得认真考虑。幸运的是,随着时间推移 HTTPS 已有改进,降低了建立加密连接所需的性能开销。

发生 HTTP 连接时,请求网页的客户端与服务器建立连接需要进行多次往返。除了与 TCP 握手相关联的普通延迟(下方以蓝色显示)之外,还必须进行其他 TLS/SSL 握手(以黄色显示)以便使用 HTTPS。

TCP 握手

已在 TLS 中实施了改进,以减少创建连接的总延迟,包括 TLS 会话恢复和 TLS 错误启动。

通过使用会话恢复,服务器可以通过为其他请求恢复同一会话来使连接保持更长的生存期。当客户端需要未缓存的源服务器获取时,使连接保持存活可节省重新协商连接所花费的时间,从而将总 RTT 缩短 50%。

加密通道创建速度上的另一改进是实施一个称为 TLS 错误启动的过程,通过在客户端完成身份验证之前发送加密数据来缩短等待时间。如需更多信息,您可以探索 TLS/SSL 如何在 CDN 上工作

最后,TLS 1.3 提供了更显着的性能改进。TLS 1.3 中的 TLS 握手只需要一次往返——如果客户端之前已连接,则为往返。注册 Cloudflare 可以轻松为 Web 资产激活 TLS 1.3。

“实施 HTTPS 对我而言代价太高”

在某一点上或许正确,但现在成本不再是问题;Cloudflare 让网站能够免费获得加密传输。我们是第一家免费提供 SSL 的公司,并且也会继续下去。通过提高整个互联网的安全性,我们能够使互联网变得更加安全、更加快速。

“将站点迁移到 HTTPS 时我会丢失搜索排名”

网站迁移有相关的风险,而且实施不当可能会对 SEO 造成负面影响。潜在的隐患包括网站停机、网页未爬网,以及因为同时存在两个站点副本而受到内容重复惩罚。即便如此,按照最佳实践操作可以将网站安全地迁移到 HTTPS。

最重要的两个迁移实践是:

1) 使用 301 重定向;2) 正确放置权威性标签。通过在 HTTP 站点上使用服务器 301 重定向来指向 HTTPS 版本,网站可以告诉 Google 转到新位置来达成所有搜索和索引目的。通过仅在 HTTPS 网站上放置权威性标签,Googlebot 等爬网程序将知道新的安全内容此后应被视为权威性内容。

如果您的网页数量很多,并且担心重新爬网的时间太长,请与 Google 联络,并告诉他们您愿意让自己的网站经受多少流量。然后,网络工程师可提高爬网速度,从而帮助快速解析您的站点并将其编入索引。