← [ BACK_TO_NOTES ]

HTTP vs HTTPS

HTTP 与 HTTPS 共享同一套 HTTP 语义;HTTPS 的关键差异是把 HTTP 通信置于 TLS 保护下,从而增加机密性、完整性和服务端身份认证。

#synthesis #growing #network #http #https

[!info] related notes

HTTP vs HTTPS

范围

本文只回答一个关系问题:

HTTP 与 HTTPS 到底差在哪里?

HTTP 本身的资源、方法、状态码、头字段、缓存等语义见 HTTP;TLS、证书与握手细节见 HTTPS。

共同点

HTTPS 不是另一套应用语义。

无论是 HTTP 还是 HTTPS,应用层仍然围绕:

URI / Resource
→ Method
→ Headers
→ Content
→ Status Code

展开。

所以:

HTTPS = HTTP 语义 + TLS 保护的传输通道。

核心差异

HTTP

如果直接使用未受 TLS 保护的 HTTP 传输,链路上的中间参与者更容易观察或修改传输内容。

HTTPS

HTTPS 在 HTTP 通信外增加 TLS:

HTTP semantics
      ↓
TLS
      ↓
TCP / QUIC 等底层传输

由 TLS 提供三类核心安全能力:

  • 机密性:第三方不能直接读取明文内容;
  • 完整性:传输中的篡改可被检测;
  • 身份认证:客户端通过证书等机制确认正在和目标服务端建立安全连接。

HTTPS 多出的关键过程

建立 HTTPS 连接时,需要先完成 TLS 握手所需的协商与身份验证,再建立受保护的数据通道。

具体握手机制应去 HTTPS / TLS 相关笔记理解,不在这里重复完整握手教程。

HTTPS 不等于“网站绝对安全”

HTTPS 解决的是传输通道安全,不是应用所有安全问题。

即使网站使用 HTTPS,仍然可能存在:

  • XSS;
  • CSRF;
  • 越权;
  • 弱密码;
  • 服务端业务漏洞;
  • 恶意页面本身。

因此:

HTTPS
≠
应用逻辑天然安全

一个最小场景

浏览器请求:

https://api.example.com/users/42

HTTP 层仍然表达“对哪个资源执行什么方法、携带什么头字段”;HTTPS 的额外职责是让这些 HTTP 数据在网络传输时经过 TLS 保护。

决策边界

现代公开 Web 服务通常应默认使用 HTTPS。

真正需要判断的不是:

HTTP 和 HTTPS 哪个“功能更多”?

而是:

当前 HTTP 语义是否通过受认证、加密且具完整性保护的通道传输?

学习检查

不看正文回答:

  1. HTTP 与 HTTPS 的应用层语义是否不同?
  2. TLS 给 HTTPS 增加了哪三类核心安全能力?
  3. 为什么 HTTPS 不能防止 XSS 或业务越权?
  4. HTTPS 建立连接时,相比普通 HTTP 多出的关键阶段是什么?
  5. 如果 API 使用 HTTPS,但服务端授权逻辑错误,HTTPS 能不能解决?为什么?
创建于 2026/9/30 更新于 2026/9/30
Digital Biome
Access

键盘导航

j / k / ↑ / ↓
选择对象
Enter / o
打开选择
/ 或 Ctrl+K
全站搜索
i / f / 1–4
筛选当前列表
g → h / l / p / t / a
首页 / 笔记 / 项目 / 工具 / About
r → 1–9
打开所选对象的关联
u
返回上一页
Esc
关闭浮层 / 取消命令;输入框内清空文本