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 资源会被浏览器阻止。
相关推荐
z落落14 分钟前
C#UDP+串口服务端+UDP 客户端(含 CRC16 校验)
网络·网络协议·udp
2501_916008891 小时前
如何实现iOS App代码混淆:SwiftShield使用指南
android·ios·小程序·https·uni-app·iphone·webview
SDWAN_Cheap1 小时前
HTTPS到底加密了什么?
https·数据加密
曼巴UE52 小时前
UE5 客户端 需要的网络同步概念总结(3 )-事件同步 RPC 以及三种调用方式
网络·c++·网络协议·学习·rpc·ue5
captain3762 小时前
HTTP(2)
java·网络·http·java-ee
开开心心就好2 小时前
安卓手写文字生成工具,多种纸张一直免费
网络·网络协议·tcp/ip·leetcode·智能手机·电脑·模拟退火算法
2501_916008893 小时前
怎么用 Godot 导出 iOS 应用并上架 App Store?签名字段该填什么?
android·ios·小程序·https·uni-app·iphone·webview
比兔代理12 小时前
正向代理与反向代理技术辨析,为什么代理 IP 属于正向代理
服务器·网络·http·ip
Lsetea18 小时前
Nginx报No required SSL certificate was sent:mTLS客户端证书排查
运维·nginx·https·ssl·openssl
K成长日志1 天前
DALI协议-Part209-颜色控制
物联网·网络协议·iot·智能照明·智能建筑·dali