这四个协议之间存在着密切的关系,通过下面的图表来理解它们的关系:

在这里插入图片描述

在这里插入图片描述

1. 协议层级关系

加密协议
非加密协议
升级协议
升级协议
添加SSL/TLS
添加SSL/TLS
HTTPS:443端口
WSS:443端口
HTTP:80端口
WS:80端口

2. 四个协议的详细对比

特性 HTTP HTTPS WebSocket (ws) WebSocket Secure (wss)
默认端口 80 443 80 443
数据传输 单向请求-响应 单向请求-响应 双向通信 双向通信
加密 ❌ 无 ✅ SSL/TLS ❌ 无 ✅ SSL/TLS
连接特性 短连接/长连接 短连接/长连接 持久连接 持久连接
协议标识 http:// https:// ws:// wss://

3. WebSocket握手过程(基于HTTP协议)

客户端 服务器 1. HTTP握手阶段 HTTP请求 Upgrade: websocket Connection: Upgrade HTTP响应 状态码: 101 Upgrade: websocket 2. WebSocket通信阶段 WebSocket帧数据 WebSocket帧数据 WebSocket帧数据 WebSocket帧数据 客户端 服务器

4. 实际应用场景对比

WebSocket/WSS适用场景
HTTP/HTTPS适用场景
实时聊天
股票行情
在线游戏
协同编辑
实时通知
网页浏览
RESTful API
文件下载
表单提交

5. 关键区别总结

  1. 通信模式

    • HTTP/HTTPS:请求-响应模式,客户端主动发起
    • WS/WSS:全双工通信,服务器可主动推送
  2. 连接生命周期

    • HTTP/HTTPS:每次请求可能新建连接(HTTP/1.0)或复用连接(HTTP/1.1)
    • WS/WSS:建立后保持长连接,直到一方主动关闭
  3. 协议升级

    • WebSocket通过HTTP的Upgrade机制从HTTP协议升级而来
    • 这就是为什么WebSocket能够穿透HTTP代理的原因
  4. 安全性

    • HTTP和WS是明文传输,不安全
    • HTTPS和WSS使用SSL/TLS加密,适合传输敏感数据
  5. 性能特点

    • HTTP/HTTPS:每次通信都有完整的HTTP头部,开销较大
    • WS/WSS:建立连接后,数据帧头部很小,传输效率高
Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐