HTTP和HTTPS的区别

1. 协议基础

  • HTTP(HyperText Transfer Protocol):运行在 TCP 之上,是明文传输的协议。
  • HTTPS(HTTP Secure) :在 HTTP 和 TCP 之间加了一层 SSL/TLS 加密层,实现加密传输。

面试加分点:可以提到 HTTPS = HTTP + SSL/TLS。


2. 数据安全性

  • HTTP :所有数据(包括 URL、请求头、请求体、Cookie 等)都是明文传输,容易被中间人窃听、篡改或伪造。
  • HTTPS :通过 对称加密 + 非对称加密 + 数字证书 保证:
    • 机密性(Confidentiality):数据加密,无法被窃听;
    • 完整性(Integrity):防止数据被篡改;
    • 身份认证(Authentication):通过 CA 证书验证服务器身份,防止钓鱼。

面试加分点:可简要说明 TLS 握手过程(ClientHello → ServerHello → 证书交换 → 密钥协商 → 加密通信)。


3. 端口不同

  • HTTP 默认使用 80 端口
  • HTTPS 默认使用 443 端口

4. 性能开销

  • HTTPS 因为需要进行加密/解密和 TLS 握手,会带来一定的性能开销(如额外的 RTT 延迟);
  • 但现代优化技术(如 TLS 1.3、会话复用、0-RTT)已大幅降低这一影响。

面试加分点:可提一下 HTTP/2 通常只在 HTTPS 下启用,反而能提升整体性能(多路复用、头部压缩等)。


5. SEO 与浏览器支持

  • 搜索引擎(如 Google)优先索引 HTTPS 网站;
  • 现代浏览器对 HTTP 网站标记为"不安全",影响用户体验和信任度;
  • 很多新 Web API(如 Geolocation、Service Worker、Web Push)仅在 HTTPS 下可用

总结一句话回答(适合开场):

"HTTP 是明文传输的协议,而 HTTPS 在 HTTP 基础上加入了 SSL/TLS 加密层,保障了通信的安全性、完整性和身份认证。"


如果你是前端开发者,还可以补充:

  • 在开发中应始终使用 HTTPS,尤其是在处理用户敏感信息(登录、支付等)时;
  • 使用 HSTS(HTTP Strict Transport Security)头强制浏览器使用 HTTPS;
  • 注意混合内容(Mixed Content)问题:HTTPS 页面中加载 HTTP 资源会被浏览器阻止。
相关推荐
extrao4 小时前
🚀 Kea DHCP4 自动分配系统完整搭建
网络协议
喵个咪7 小时前
Go-Wind HTTP 服务器从入门到精通
后端·http·go
不做菜鸟的网工2 天前
BGP特性
网络协议
AlfredZhao2 天前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
明月_清风4 天前
开发者网络概念全扫盲:一篇搞定
后端·网络协议
刘马想放假4 天前
Modbus 全栈技术解析:TCP、RTU、ASCII、RTU over TCP
数据结构·网络协议
王二端茶倒水5 天前
一套可落地的无线运营方案,不能只管 AP,还要管用户、计费和运维
网络协议
162723816085 天前
EtherCAT 分布式时钟(DC)原理与配置实战:把多轴真正"对齐到同一时刻"
网络协议
王二端茶倒水6 天前
宽带无线项目,怎么从一次性交付变成长期运营收入?
网络协议
Goodbye6 天前
大模型无状态架构:从 HTTP 协议到 Harness AI 工程的深度解析
http