什么是 HTTPS?

HTTPS 是一种在 Web 服务器和 Web 浏览器之间发送数据的安全方式。

Share facebook icon linkedin icon twitter icon email icon

HTTPS

学习目标

阅读本文后,您将能够:

  • 定义 HTTPS
  • 探索 HTTPS 的工作方式
  • 了解 HTTPS 的重要性
  • 了解如何在网站上获取 HTTPS

什么是 HTTPS?

超文本传输协议安全(HTTPS)是 HTTP 的安全版本,是用于在 Web 浏览器和网站之间发送数据的主要协议。HTTPS 是加密的,可以提高数据传输的安全性。当用户传输敏感数据(例如通过登录银行帐户、电子邮件服务或健康保险提供商)时,这一点尤其重要。

所有网站都应使用 HTTPS,特别是需要登录凭据的网站。在现代网络浏览器(例如 Chrome)中,未使用 HTTPS 的网站与使用 HTTPS 的网站的标记有所不同。URL 栏中如果出现绿色挂锁,则表示该网页是安全的。Web 浏览器非常重视 HTTPS;Google Chrome 和其他浏览器将所有非 HTTPS 网站标记为不安全。

Google Chrome Security Example

您可以使用 Cloudflare 诊断中心来检查网站是否使用 HTTPS。

HTTPS 如何工作?

HTTPS 使用加密协议对通信进行加密。该协议称为传输层安全性(TLS),但以前称为安全套接字层(SSL)。该协议通过使用所谓的非对称公钥基础架构来保护通信。这种类型的安全系统使用两个不同的密钥来加密两方之间的通信:

  1. 私钥 - 此密钥由网站所有者控制,并且如读者所推测的那样,它是私有的。此密钥位于 Web 服务器上,用于解密通过公钥加密的信息。
  2. 公钥 - 所有想要以安全方式与服务器交互的人都可以使用此密钥。用公钥加密的信息只能用私钥解密。

HTTPS 为什么很重要?如果网站没有 HTTPS,那会如何?

HTTPS 阻止网站以任何在网络上窥探的人都能轻松查看的方式广播信息。通过常规 HTTP 发送信息时,信息会分解为数据包,使用免费软件即可轻松“嗅探”这些数据包。这使得通过不安全的媒介(例如公共 Wi-Fi)进行的通信极易受到拦截。实际上,所有通过 HTTP 进行的通信都是以纯文本形式进行的,因而能够为任何使用正确工具的人轻松访问,而且容易遭受中间人攻击

使用 HTTPS 时,流量会经过加密,即使嗅探到数据包或以其他方式截取数据包,它们也会呈现为无意义的字符。我们来看一个例子:

加密前:

这是完全可读的文本字符串

加密后:

ITM0IRyiEhVpa6VnKyExMiEgNveroyWBPlgGyfkflYjDaaFf/Kn3bo3OfghBPDWo6AfSHlNtL8N7ITEwIXc1gU5X73xMsJormzzXlwOyrCs+9XCPk63Y+z0=

在不使用 HTTPS 的网站中,Internet 服务提供商(ISP)或其他中间人有可以在未经网站所有者批准的情况下将内容注入网页。这通常采用广告形式,希望增加收入的 ISP 将付费广告注入其客户的网页中。毋庸置疑,当这种情况发生时,绝不会与网站所有者共享广告的利润和这些广告的质量控制。HTTPS 杜绝了未经审核的第三方将广告注入Web 内容的可能。

Third-party content injection

图片来自 Ars Technica

HTTPS 与 HTTP 有何不同?

从技术上来讲,HTTPS 并不是独立于 HTTP 的协议。它只是在 HTTP 协议的基础上使用 TLS/SSL 加密。HTTPS 基于TLS/SSL 证书的传输而发生,该证书验证特定提供商就是他们声称的身份。

当用户连接网页时,该网页将通过其 SSL 证书发送,证书包含启动安全会话所需的公钥。然后,两台计算机(客户端和服务器)将经历一个称为 SSL/TLS 握手的过程,即用于建立安全连接的一系列来回通信。要更深入地了解加密和 SSL/TLS 握手,请阅读了解 TLS 握手

网站如何开始使用 HTTPS?

许多网站托管提供商和其他服务提供收费的 TLS/SSL 证书。这些证书通常会在许多客户之间共享。也有更加昂贵的证书,可以单独注册到特定的 Web 资产。

所有使用 Cloudflare 的网站均使用共享证书免费获得 HTTPS(此技术术语为多域 SSL 证书)。设置免费帐户将确保 Web 资产获得不断更新的 HTTPS 保护。您也可以浏览我们的付费计划,以获取个体证书和其他功能。无论哪种情况,Web 资产都可以享受使用 HTTPS 的所有益处。