当前位置: 首页 > news >正文

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

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

    • 01. 前言:为什么网址前面有个“小锁”?
    • 02. 核心区别一句话总结
    • 03. HTTP 的原理与安全缺陷
      • 3.1 HTTP 工作原理(明文传输)
      • 3.2 HTTP 三大安全风险
    • 04. HTTPS 如何解决安全问题:SSL/TLS 加密层
      • 4.1 HTTPS = HTTP + TLS/SSL
      • 4.2 HTTPS 握手与加密流程(简化版)
      • 4.3 HTTPS 提供的三大安全保障
    • 05. 详细对比:HTTP vs HTTPS
      • 5.1 端口与 URL 格式
      • 5.2 性能差异
      • 5.3 证书与成本
    • 06. 混合内容:HTTPS 页面里的 HTTP 资源
    • 07. 如何从 HTTP 升级到 HTTPS(完整流程图)
    • 08. 常见问题与误区
      • Q1:HTTPS 就一定绝对安全吗?
      • Q2:HTTPS 比 HTTP 慢很多吗?
      • Q3:内网服务也需要 HTTPS 吗?
      • Q4:HTTPS 会增加服务器 CPU 负载吗?
    • 09. 对比总结表
    • 10. 什么时候可以继续用 HTTP?
    • 11. 总结

🌺The Begin🌺点点关注,收藏不迷路🌺

01. 前言:为什么网址前面有个“小锁”?

当你在浏览器地址栏输入网址时,有的显示http://,有的显示https://,前者旁边可能标注“不安全”,后者则有一个绿色小锁。

HTTP是互联网的原始协议,但它以明文传输数据——就像在明信片上写密码。HTTPS在 HTTP 基础上加入了SSL/TLS 加密层,相当于把明信片换成了带锁的保险箱。

今天我们深入对比两者的核心区别:加密机制、端口、证书、性能差异,以及为什么 HTTPS 已经成为现代 Web 的标配。


02. 核心区别一句话总结

特性HTTPHTTPS
全称HyperText Transfer ProtocolHyperText Transfer ProtocolSecure
加密无(明文传输)有(SSL/TLS 加密)
默认端口80443
安全性弱(可被窃听、篡改)强(防窃听、防篡改、防冒充)
证书不需要需要 CA 签发的数字证书
性能快(无加密开销)稍慢(握手+加密解密开销)
搜索引擎优待有(Google 优先收录 HTTPS)

03. HTTP 的原理与安全缺陷

3.1 HTTP 工作原理(明文传输)

客户端 服务器 | | |-------- HTTP 请求(明文)----------->| | GET /login HTTP/1.1 | | username=alice&password=123 | | | |<------- 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 HTTPS

5.1 端口与 URL 格式

协议默认端口URL 前缀浏览器显示
HTTP80http://“不安全”警告
HTTPS443https://绿色锁(安全)

5.2 性能差异

HTTP 连接: 客户端 --TCP 三次握手(1 RTT)--> 服务器 → 开始传输数据 HTTPS 连接(TLS 1.2 典型情况): 客户端 --TCP 握手(1 RTT)--> 服务器 客户端 --TLS 握手(2 RTT)--> 服务器 → 开始传输加密数据 总延迟:HTTP ≈ 1 RTT,HTTPS ≈ 3 RTT(首次连接)

实际优化

  • TLS 1.3 将握手降至1-RTT(甚至 0-RTT 恢复)
  • 会话复用、OCSP Stapling 可减少开销
  • 现代服务器启用 HTTPS 后,额外延迟通常< 10ms

5.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.png


07. 如何从 HTTP 升级到 HTTPS(完整流程图)

开始 │ ▼ 1. 申请 SSL/TLS 证书 ├── 免费:Let's Encrypt(Certbot) └── 付费:DigiCert、Sectigo、阿里云/腾讯云 │ ▼ 2. 安装证书到 Web 服务器 ├── Nginx:配置 ssl_certificate 和 ssl_certificate_key ├── Apache:配置 SSLCertificateFile 和 SSLCertificateKeyFile └── CDN:上传证书或开启一键 HTTPS │ ▼ 3. 配置 HTTP 自动跳转 HTTPS(301 重定向) server { listen 80; return 301 https://$host$request_uri; } │ ▼ 4. 更新资源链接(HTML、CSS、JS 中的 http:// 改为 https://) │ ▼ 5. 启用 HSTS(HTTP Strict Transport Security) Strict-Transport-Security: max-age=31536000; includeSubDomains │ ▼ 6. 验证:访问 https://你的域名,检查小锁图标 │ ▼ 完成

08. 常见问题与误区

Q1:HTTPS 就一定绝对安全吗?

不完全是。HTTPS 加密的是传输通道,但:

  • 服务器端数据泄露(数据库被拖库)不受保护
  • 恶意软件可在用户设备上截获解密后的数据
  • 证书体系可能被攻击(如 CA 被入侵)

Q2:HTTPS 比 HTTP 慢很多吗?

差别不大。TLS 握手有额外开销,但现代硬件和协议优化(TLS 1.3、会话复用)下,HTTPS 的性能损失通常在5% 以内,而开启 HTTP/2 后甚至可能更快。

Q3:内网服务也需要 HTTPS 吗?

强烈建议。即使在内网,也有 ARP 欺骗、交换机监听等风险。使用自签名证书或内部 CA 即可。

Q4:HTTPS 会增加服务器 CPU 负载吗?

会有一点。非对称加密只在握手阶段,对称加密开销很低。现代服务器(AES-NI 指令集)处理 HTTPS 的 CPU 开销可忽略不计。


09. 对比总结表

对比维度HTTPHTTPS
加密TLS/SSL 加密
数据安全可被窃听、篡改防窃听、防篡改、防冒充
端口80443
证书不需要需要 CA 证书
搜索引擎排名无优待Google 优先收录 HTTPS
浏览器标识“不安全”绿色锁 / 安全
HTTP/2 支持不支持需要 HTTPS(浏览器要求)
适用场景仅限测试/内网/旧系统所有公网服务、登录、支付、API

10. 什么时候可以继续用 HTTP?

  • 纯本地开发环境(localhost)
  • 内部测试环境(无敏感数据)
  • 遗留系统且无法改造(但应隔离网络)
  • 某些物联网设备(资源极度受限)

对于任何面向公网、涉及用户数据、登录、支付的服务:必须用 HTTPS。


11. 总结

HTTP = 公路 + 透明卡车 (货物一览无余) HTTPS = 公路 + 装甲押运车 + 防弹玻璃 (货物加密,还有防伪标识) 一句话: HTTP 用来“看新闻”勉强可以, HTTPS 用来“填密码、转账”才是底线。

从 HTTP 到 HTTPS,不仅是加了一个字母 “S”(Secure),更是整个 Web 安全体系的基石。如今,HTTPS 已成为所有现代网站的强制标准



🌺The End🌺点点关注,收藏不迷路🌺
http://www.jsqmd.com/news/593987/

相关文章:

  • ollama环境变量全解析:从数据路径到端口优化的高效配置指南
  • 第25课:让 Qt 从 GPIO 子系统一路进阶到平台驱动与设备树控制
  • 智能电池充电:使用PID控制器优化SOC附Matlab代码
  • 保姆级教程:用MS-Swift在本地电脑上跑通Qwen2.5-VL多模态大模型(附WebUI界面)
  • **Rollup方案实战:基于Vite的模块化构建优化与性能提升**在现代前端工程化实践中,**构建
  • 实测对比:美信POC方案中磁珠选型的5个关键陷阱(附PSpice仿真文件)
  • AI 驱动的代码理解神器:DeepWiki 让代码库秒变交互式 Wiki
  • 【GitHub开源项目专栏】黑客松获奖项目技术深潜:从垂直领域AI到安全基础设施的创新实践
  • 51单片机(一) --- 入门
  • 国产DSP
  • DJI Windows SDK避坑指南:从环境配置到示例程序运行的完整流程(VS2019实测)
  • c.语言完美演绎6-22
  • 字节跳动开源Coze后,个人开发者如何快速上手?保姆级教程来了
  • HTTP 中 GET 和 POST 的区别是什么:从语义到安全、从参数到缓存
  • 雷达目标分类及宽带测角方案设计实现
  • JavaScript高频八股
  • MapboxGL离线部署实战:自定义字体与本地化渲染方案
  • 【算法学习专栏】动态规划基础·简单三题精讲(70.爬楼梯、118.杨辉三角、121.买卖股票的最佳时机)
  • 08_微服务划分与团队人数之监控治理与跨团队协作
  • 分布式微电网能源交易算法matlab源代码, 代码按照高水平文章复现,保证正确 孤岛微电网之间...
  • 在Ubuntu 22.04上搞定SRILM 1.7.3:从下载到`make test`成功的保姆级记录
  • 房屋租赁管理系统开发教程:基于SSM框架实战全记录
  • WebSocket 与 HTTP 有什么区别:从单向请求到全双工实时通信
  • C语言完美演绎7-1
  • 09_微服务划分与团队人数之阿里实践与行业案例
  • 如何用web的知识创建超链接并改变超链接的表达形式
  • 2026年美国移民机构哪家靠谱?行业服务质量解析 - 品牌排行榜
  • NCCloud OpenAPI扩展开发避坑指南:从NCC2005到BIP高级版,配置与调用方式全解析
  • 基于Copula函数的多风场出力相关性分析场景生成与聚类削减方法(MATLAB实现)
  • 2026青海婚纱摄影推荐|高原旅拍标杆,用影像定格一生幸福 - 江湖评测