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 资源会被浏览器阻止。
相关推荐
最强小杰4 小时前
minimax-m3 突然报 HTTP 529 怎么办?连续重试为何更难恢复,退避时间该怎么算?
网络·网络协议·http·ai
m0_639906945 小时前
TCP与UDP协议详解|原理、区别、粘包拆包、应用场景,面试总
网络协议·tcp/ip·udp
Thanks_ks5 小时前
常见 HTTP 状态码的坑:301/302、401/403、500/502 之间差的那一个词
计算机网络·nginx·http·面试·状态码·后端开发·浏览器缓存
李纲明6 小时前
WordPress 登录后跳回登录页或提示「Cookie 被阻止」:先核站点 URL 与 HTTPS 一致,再查安全插件与 CDN
https·登录·cdn·wordpress·cookie·devdiy·站点url
Thanks_ks6 小时前
Cookie 和 Session 到底是什么关系——登录态是怎么维持的
分布式·http·jwt·cookie·session·后端开发·登录态
QianhangQianping7 小时前
WebSocket实时推送+ HTTP 定时轮询:一块大屏两套取数怎么不打架
前端·websocket·网络协议·http·低代码·架构·数据可视化
车载中间件通信8 小时前
[TC8测试]TCP_FLAGS_INVALID_13_Flag SYN,ACK
网络·网络协议·tcp/ip
车载中间件通信8 小时前
[TC8测试]TCP_FLAGS_PROCESSING_06
数据库·网络协议·tcp/ip·中间件·tc8
李纲明11 小时前
WordPress 全站 HTTPS 后仍显示「不安全」或锁被划掉:先清混合内容,再核证书链与强制跳转
网络协议·安全·https·wordpress·devdiy·混合内容
尹人入圣21 小时前
目前热门的IP驱动产业新场景新工具
网络·python·网络协议·tcp/ip