什么是 HTTPS?

HTTPS(安全超文本传输协议)是 HTTP 的安全版本,使用 TLS(传输层安全)加密浏览器与服务器之间的所有通信。它保护数据完整性、机密性,并验证服务器身份。

快速了解

全称安全超文本传输协议
创建时间1994 年由 Netscape 开发
规范文档官方规范

HTTPS 工作原理

HTTPS 由 Netscape 于 1994 年为其 Navigator 浏览器开发。它将 HTTP 封装在 TLS 加密中,防止窃听、篡改和中间人攻击。HTTPS 使用由证书颁发机构(CA)签发的数字证书来验证服务器身份。现代浏览器将 HTTP 网站标记为「不安全」,并要求 HTTPS 才能使用地理位置、Service Worker 和 HTTP/2 等功能。Let's Encrypt 使免费 TLS 证书广泛可用,加速了 HTTPS 的普及。HTTPS 通常使用端口 443,而不是 HTTP 的端口 80。

主要特点

  • 使用 TLS 加密所有传输中的数据
  • 通过证书验证服务器身份
  • 防止窃听和篡改
  • 默认使用端口 443
  • 现代 Web 功能所必需
  • 浏览器中的视觉指示器(锁图标)

常见用途

  1. 安全的网站通信
  2. 网上银行和电子商务
  3. 登录和身份验证页面
  4. API 安全
  5. 任何处理敏感数据的网站

示例

HTTPS URL:
https://www.example.com/secure-page

TLS 握手过程:
1. 客户端问候(支持的密码套件)
2. 服务器问候(选择的密码、证书)
3. 客户端验证证书
4. 密钥交换(建立会话密钥)
5. 开始加密通信

证书信息:
颁发者: Let's Encrypt Authority X3
主题: www.example.com
有效期从: 2024-01-01
有效期至: 2024-04-01
公钥: RSA 2048 位

HTTPS 头:
Strict-Transport-Security: max-age=31536000
Content-Security-Policy: upgrade-insecure-requests

将 HTTP 重定向到 HTTPS:
server {
  listen 80;
  return 301 https://$host$request_uri;
}

QubitTool 相关工具

相关概念