HTTPS

返回 计算机网络

HTTPS = HTTP + TLS(安全传输)。默认端口 443;URL 形如 https://example.com/path


HTTPS、SSL、TLS 分别指什么

名称含义
HTTPSHypertext Transfer Protocol Secure;S = Secure(安全),不是协议缩写 SSL
TLS实际提供加密的传输层协议 → 详见 TLS
SSL历史前身;口语常说「SSL 证书」,实现上应使用 TLS

关系:

应用层:  HTTP 请求/响应(方法、状态码、Header、Body)
         ↓ 运行在
安全层:  TLS(握手、证书、加密)
         ↓ 运行在
传输层:  TCP(通常 443 端口)

与 HTTP 的差异

对比项HTTPHTTPS
端口80443
传输明文TLS 加密
身份无默认校验依赖证书链验证服务端(可选 mTLS 校验客户端)
URLhttp://https://

浏览器地址栏锁图标表示 TLS 握手成功且证书校验通过。握手与证书细节见 TLS


部署与访问

# 测试 HTTPS(跳过证书校验,仅开发)
curl -k https://example.com
 
# 正常校验证书
curl https://example.com

反向代理(Nginx、Caddy)常在边缘终结 TLS(SSL 卸载),再以 HTTP 或 HTTPS 转发到后端 → 代理


常见问题

问题说明
证书过期需定期续期;Let’s Encrypt 常见 90 天 → TLS
混合内容HTTPS 页面加载 http:// 脚本/图片,浏览器阻止或警告
HSTS响应头强制后续只用 HTTPS,防 SSL stripping 降级
证书与域名不符证书 SAN/CN 未包含访问域名
自签名证书开发可用;生产需受信 CA 签发

HSTS 示例

Strict-Transport-Security: max-age=31536000; includeSubDomains

首次访问仍可能经 HTTP 被劫持,常配合 301 全站跳转 HTTPSHSTS preload


与其它「安全 Web」的关系

场景说明
WSSWebSocket over TLS,类似 HTTPS 套 TLS
HTTP/3基于 QUIC,内置 TLS 1.3,端口常为 UDP 443
Let’s Encrypt免费 DV 证书,配合 ACME 自动续期

相关

  • TLS — 握手、证书、加密套件、SNI、mTLS
  • HTTP — 明文 HTTP 语义与状态码
  • 域名 — 证书绑定域名、SAN
  • DNS — 解析与 CAA
  • CDN — 边缘节点 TLS 终结
  • 代理 — 反向代理与 SSL 卸载
  • 前后端交互 — 生产环境应使用 HTTPS
  • 网络性能 — TLS 握手带来的首包延迟