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 资源会被浏览器阻止。
相关推荐
Jony_15 小时前
高可用移动网络连接
网络协议
chilix20 小时前
Linux 跨网段路由转发配置
网络协议
gihigo19983 天前
基于TCP协议实现视频采集与通信
网络协议·tcp/ip·音视频
古译汉书3 天前
【IoT死磕系列】Day 7:只传8字节怎么控机械臂?学习工业控制 CANopen 的“对象字典”(附企业级源码)
数据结构·stm32·物联网·http
白太岁3 天前
通信:(5) 电路交换、报文交换与分组交换
运维·服务器·网络·网络协议
EasyGBS3 天前
国标安全升级:GB28181平台EasyGBS支持GB35114协议的应用场景与核心优势
网络协议·安全·gb28181·gb35114
凯酱3 天前
Windows防火墙入站规则IP白名单
windows·网络协议·tcp/ip
稻草猫.3 天前
TCP与UDP:传输层协议深度解析
笔记·后端·网络协议
赤月奇3 天前
https改为http
数据挖掘·https·ssl
科技块儿3 天前
如何用离线库秒筛“数据中心”IP段并自动封号?
网络·网络协议·tcp/ip