HTTP 和 HTTPS 有什么区别:从明文传输到安全加密的完整演进

张开发
2026/5/23 14:28:18 15 分钟阅读
HTTP 和 HTTPS 有什么区别:从明文传输到安全加密的完整演进
HTTP 和 HTTPS 有什么区别从明文传输到安全加密的完整演进01. 前言为什么网址前面有个“小锁”02. 核心区别一句话总结03. HTTP 的原理与安全缺陷3.1 HTTP 工作原理明文传输3.2 HTTP 三大安全风险04. HTTPS 如何解决安全问题SSL/TLS 加密层4.1 HTTPS HTTP TLS/SSL4.2 HTTPS 握手与加密流程简化版4.3 HTTPS 提供的三大安全保障05. 详细对比HTTP vs HTTPS5.1 端口与 URL 格式5.2 性能差异5.3 证书与成本06. 混合内容HTTPS 页面里的 HTTP 资源07. 如何从 HTTP 升级到 HTTPS完整流程图08. 常见问题与误区Q1HTTPS 就一定绝对安全吗Q2HTTPS 比 HTTP 慢很多吗Q3内网服务也需要 HTTPS 吗Q4HTTPS 会增加服务器 CPU 负载吗09. 对比总结表10. 什么时候可以继续用 HTTP11. 总结The Begin点点关注收藏不迷路01. 前言为什么网址前面有个“小锁”当你在浏览器地址栏输入网址时有的显示http://有的显示https://前者旁边可能标注“不安全”后者则有一个绿色小锁。HTTP是互联网的原始协议但它以明文传输数据——就像在明信片上写密码。HTTPS在 HTTP 基础上加入了SSL/TLS 加密层相当于把明信片换成了带锁的保险箱。今天我们深入对比两者的核心区别加密机制、端口、证书、性能差异以及为什么 HTTPS 已经成为现代 Web 的标配。02. 核心区别一句话总结特性HTTPHTTPS全称HyperText Transfer ProtocolHyperText Transfer ProtocolSecure加密无明文传输有SSL/TLS 加密默认端口80443安全性弱可被窃听、篡改强防窃听、防篡改、防冒充证书不需要需要 CA 签发的数字证书性能快无加密开销稍慢握手加密解密开销搜索引擎优待无有Google 优先收录 HTTPS03. HTTP 的原理与安全缺陷3.1 HTTP 工作原理明文传输客户端 服务器 | | |-------- HTTP 请求明文-----------| | GET /login HTTP/1.1 | | usernamealicepassword123 | | | |------- HTTP 响应明文------------| | 200 OK | | { token: abc123 } |3.2 HTTP 三大安全风险风险说明攻击方式示例窃听中间节点路由器、ISP可看到所有数据抓包获取密码、Cookie、聊天记录篡改中间人可修改传输中的数据植入广告、替换下载文件、劫持网页冒充无法确认服务器身份可能连接钓鱼网站DNS 劫持、ARP 欺骗公共 WiFi 环境下HTTP 网页的密码和 Cookie 几乎等于裸奔。04. HTTPS 如何解决安全问题SSL/TLS 加密层4.1 HTTPS HTTP TLS/SSL┌─────────────────────────────────────────┐ │ HTTPS 协议栈 │ ├─────────────────────────────────────────┤ │ HTTP 应用层请求/响应语义与 HTTP 相同│ ├─────────────────────────────────────────┤ │ TLS/SSL 安全层加密、认证、完整性 │ ├─────────────────────────────────────────┤ │ TCP 传输层 │ ├─────────────────────────────────────────┤ │ IP 网络层 │ └─────────────────────────────────────────┘4.2 HTTPS 握手与加密流程简化版客户端 服务器 | | |-------- 1. Client Hello --------------| (支持的加密套件、随机数) | | |------- 2. Server Hello 证书 ---------| (选定的加密套件、服务器随机数、CA证书) | | | 3. 验证证书有效性CA 签名、域名、有效期| | | |-------- 4. Pre-Master Secret ----------| (用服务器公钥加密) | | | 5. 双方生成相同的会话密钥Master Secret| | | | 6. 加密的 HTTP 请求/响应 | (对称加密传输)4.3 HTTPS 提供的三大安全保障保障实现方式加密混合加密非对称加密交换密钥 对称加密传输数据完整性MAC消息认证码或 GCM 模式防止数据被篡改身份认证CA 签发的数字证书验证服务器身份防钓鱼05. 详细对比HTTP vs HTTPS5.1 端口与 URL 格式协议默认端口URL 前缀浏览器显示HTTP80http://“不安全”警告HTTPS443https://绿色锁安全5.2 性能差异HTTP 连接 客户端 --TCP 三次握手(1 RTT)-- 服务器 → 开始传输数据 HTTPS 连接TLS 1.2 典型情况 客户端 --TCP 握手(1 RTT)-- 服务器 客户端 --TLS 握手(2 RTT)-- 服务器 → 开始传输加密数据 总延迟HTTP ≈ 1 RTTHTTPS ≈ 3 RTT首次连接实际优化TLS 1.3 将握手降至1-RTT甚至 0-RTT 恢复会话复用、OCSP Stapling 可减少开销现代服务器启用 HTTPS 后额外延迟通常 10ms5.3 证书与成本项目HTTPHTTPS证书需求无需要 CA 签发的数字证书证书类型-DV/OV/EV域名/组织/扩展验证成本免费有免费Let’s Encrypt和付费证书有效期-目前最长 90 天免费或 1 年06. 混合内容HTTPS 页面里的 HTTP 资源当 HTTPS 页面引用了 HTTP 资源如图片、JS、CSS称为混合内容。HTTPS 页面安全 │ ├── 加载 HTTPS 图片 ✅ 安全 │ └── 加载 HTTP 图片 ⚠️ 混合内容警告 │ └── 浏览器可能阻止或降级显示浏览器策略主动混合内容JS、CSS、iframe通常直接阻止被动混合内容图片、音频可能允许但显示警告解决方案所有资源统一使用https://或协议相对 URL//example.com/img.png07. 如何从 HTTP 升级到 HTTPS完整流程图开始 │ ▼ 1. 申请 SSL/TLS 证书 ├── 免费Lets EncryptCertbot └── 付费DigiCert、Sectigo、阿里云/腾讯云 │ ▼ 2. 安装证书到 Web 服务器 ├── Nginx配置 ssl_certificate 和 ssl_certificate_key ├── Apache配置 SSLCertificateFile 和 SSLCertificateKeyFile └── CDN上传证书或开启一键 HTTPS │ ▼ 3. 配置 HTTP 自动跳转 HTTPS301 重定向 server { listen 80; return 301 https://$host$request_uri; } │ ▼ 4. 更新资源链接HTML、CSS、JS 中的 http:// 改为 https:// │ ▼ 5. 启用 HSTSHTTP Strict Transport Security Strict-Transport-Security: max-age31536000; includeSubDomains │ ▼ 6. 验证访问 https://你的域名检查小锁图标 │ ▼ 完成08. 常见问题与误区Q1HTTPS 就一定绝对安全吗不完全是。HTTPS 加密的是传输通道但服务器端数据泄露数据库被拖库不受保护恶意软件可在用户设备上截获解密后的数据证书体系可能被攻击如 CA 被入侵Q2HTTPS 比 HTTP 慢很多吗差别不大。TLS 握手有额外开销但现代硬件和协议优化TLS 1.3、会话复用下HTTPS 的性能损失通常在5% 以内而开启 HTTP/2 后甚至可能更快。Q3内网服务也需要 HTTPS 吗强烈建议。即使在内网也有 ARP 欺骗、交换机监听等风险。使用自签名证书或内部 CA 即可。Q4HTTPS 会增加服务器 CPU 负载吗会有一点。非对称加密只在握手阶段对称加密开销很低。现代服务器AES-NI 指令集处理 HTTPS 的 CPU 开销可忽略不计。09. 对比总结表对比维度HTTPHTTPS加密无TLS/SSL 加密数据安全可被窃听、篡改防窃听、防篡改、防冒充端口80443证书不需要需要 CA 证书搜索引擎排名无优待Google 优先收录 HTTPS浏览器标识“不安全”绿色锁 / 安全HTTP/2 支持不支持需要 HTTPS浏览器要求适用场景仅限测试/内网/旧系统所有公网服务、登录、支付、API10. 什么时候可以继续用 HTTP纯本地开发环境localhost内部测试环境无敏感数据遗留系统且无法改造但应隔离网络某些物联网设备资源极度受限对于任何面向公网、涉及用户数据、登录、支付的服务必须用 HTTPS。11. 总结HTTP 公路 透明卡车 货物一览无余 HTTPS 公路 装甲押运车 防弹玻璃 货物加密还有防伪标识 一句话 HTTP 用来“看新闻”勉强可以 HTTPS 用来“填密码、转账”才是底线。从 HTTP 到 HTTPS不仅是加了一个字母 “S”Secure更是整个 Web 安全体系的基石。如今HTTPS 已成为所有现代网站的强制标准。The End点点关注收藏不迷路

更多文章