2025前端面试必考总结:WebSocket、HTTP、HTTPS

174 阅读2分钟

一、WebSocket 与 HTTP 对比

1. 共同点

  • 应用层协议:均位于OSI模型第七层,基于TCP传输。
  • 可靠性:依赖TCP保证数据传输可靠性。

2. 核心区别

特性HTTP(半双工)WebSocket(全双工)
通信模式请求-响应,每次需新建连接持久连接,双向实时通信
协议开销高(每次请求带完整头部)低(头部仅2-10字节)
实时性差(需轮询)高(服务器主动推送)

二、WebSocket 详解

1. 核心特点

  • 全双工通信:客户端与服务器可同时收发数据。
  • 持久连接:一次握手后保持活跃,降低延迟。
  • 安全扩展:WSS协议通过TLS加密(同HTTPS加密机制)。

2. 工作流程

  1. 握手:客户端发送HTTP升级请求(Upgrade: websocket)。
  2. 协议升级:服务器同意后,TCP连接转为WebSocket协议。

三、HTTP/3 与 QUIC 协议

1. TCP 队头阻塞问题

  • TCP按序传输:一个包丢失会阻塞后续所有包处理。

四、HTTP 与 HTTPS 深度解析

1. 核心区别

特性HTTP(明文)HTTPS(加密)
安全性无加密,易窃听篡改通过TLS/SSL混合加密
加密基础-对称加密+非对称加密

2. 加密技术基础

(1)对称加密(单钥加密)
  • 原理:加密和解密使用同一把密钥,速度快但密钥需安全传输。
  • 示例算法:AES、DES。
  • 应用场景:HTTPS数据传输阶段、文件加密。
(2)非对称加密(双钥加密)
  • 原理:使用公钥(公开)和私钥(私密),公钥加密只能私钥解密。
  • 示例算法:RSA、ECC。
  • 应用场景:HTTPS密钥交换、数字签名。

3. HTTPS混合加密机制

  1. 密钥交换阶段(非对称加密)
    • 服务器发送公钥(含在SSL证书中),客户端生成会话密钥并用公钥加密发送。
    • 服务器用私钥解密得到会话密钥。
  2. 数据传输阶段(对称加密)
    • 双方使用会话密钥加密实际数据,提升传输效率。

4. 加密流程图示

1. 客户端请求HTTPS连接 →  
2. 服务器返回公钥(证书) ←  
3. 客户端生成会话密钥,用公钥加密 →  
4. 服务器用私钥解密得到会话密钥 ←  
5. 双方用会话密钥对称加密通信 → ←  

五、加密技术与协议的关联

协议加密应用场景加密技术组合
HTTPS全程数据加密非对称加密(密钥交换)+对称加密(数据传输)
WSSWebSocket加密通信同HTTPS(基于TLS层)
HTTP/3可选加密(QUIC内置TLS1.3)同HTTPS混合加密机制

总结

  • WebSocket与HTTP:核心在通信模式(全双工vs半双工)。
  • HTTPS安全本质:通过对称+非对称加密的混合机制,兼顾安全与效率。
  • HTTP/3演进:基于QUIC协议,在UDP上实现加密与低延迟传输。