https,WebSocket,tcp的关系

1. TCP - 传输控制协议(底层基础)

定位:传输层协议。

作用:提供可靠的、面向连接的、基于字节流的通信通道。它确保数据能按顺序、不丢失、不重复地送达。

类比:网络的"基石"和"高速公路"。所有可靠的网络通信都建立在其之上。

2. HTTPS - 超文本传输安全协议(安全的HTTP)

定位:应用层协议。

与TCP的关系:HTTPS = HTTP + TLS/SSL,而 TLS/SSL 和 HTTP 都运行在 TCP 连接之上。

  1. 客户端与服务器在 TCP 连接上完成三次握手。

  2. 在已建立的 TCP 连接上,进行 TLS/SSL 握手,协商加密密钥,建立起一个安全的加密隧道。

  3. 在这条安全的TLS隧道里,传输 HTTP 协议的数据(请求和响应)。

特点:请求-响应模型。客户端发起一个请求,服务器返回一个响应,然后连接通常会关闭(或为下一个请求保持)。通信是单向发起的,总是由客户端驱动。

3. WebSocket - 全双工通信协议

定位:应用层协议。

与TCP的关系:WebSocket 协议直接建立在单个 TCP 连接之上。

与HTTP/HTTPS的关系:这是关键所在。WebSocket 连接始于 HTTP(S)。

握手阶段:客户端首先发送一个特殊的 HTTP 请求(Upgrade: websocket)。如果是安全的WebSocket(WSS),这个握手请求就是在 HTTPS 连接上发送的(即先建立TCP+TLS,再发送HTTP升级请求)。

升级协议:服务器同意后,回复 101 Switching Protocols。此时,双方复用这个已经建立的 TCP(对于WSS是TCP+TLS)连接,将其协议从 HTTP 升级为 WebSocket。

数据交换阶段:握手完成后,这个连接就不再遵循HTTP的请求-响应规则,而是使用WebSocket帧协议,可以进行全双工、低开销的二进制或文本数据交换,服务器可以随时主动推送消息给客户端。

核心区别与联系:

特性 HTTPS (HTTP over TLS) WebSocket (WS) / WSS (WS over TLS)
基础 建立在 TCP + TLS 之上 建立在 TCP 之上(WSS则建立在 TCP + TLS 之上)
模型 请求-响应,半双工 全双工、持久连接,双向实时通信
发起方式 总是由客户端发起请求 连接始于HTTP(S)握手,升级后双方可随时主动发送
数据头开销 每个请求/响应都携带完整的HTTP头部,较大 连接建立后,数据帧头部开销极小
用途 加载网页、API调用、传统Web交互 实时聊天、股票行情、在线游戏、协同编辑等需要服务器主动推送的场景
相关推荐
treesforest9 小时前
AI安全系统如何识别异常访问?IP风险识别正在成为关键能力
网络·人工智能·tcp/ip·安全·web安全
程序员mine9 小时前
HTTPS-TLS加密与证书完全指南(中)
网络协议·https·ssl
之歆10 小时前
现代 HTTP 客户端深度解析:Fetch 与 Axios
chrome·网络协议·http
江华森11 小时前
TCP/IP 协议栈实战 — 7 个实验详解
网络·tcp/ip·智能路由器
酉鬼女又兒12 小时前
零基础入门计算机网络运输层:端到端通信核心作用、端口号分类规则、复用分用工作机制及UDP与TCP协议全方位对比详解
网络·网络协议·tcp/ip·计算机网络·考研·udp·php
dog25012 小时前
不要再继续优化 TCP
网络协议·tcp/ip·php
程序员mine12 小时前
HTTPS-TLS加密与证书完全指南(上)
网络协议·https
Shepherd061914 小时前
【IT 运维】Apache 使用 mod_remoteip 恢复 Cloudflare 后的真实访客 IP
运维·tcp/ip·apache
VidDown14 小时前
视频帧率技术详解:从 24fps 到 120fps,帧率如何影响你的观看体验?
网络·网络协议·编辑器·音视频·视频编解码·视频
C++ 老炮儿的技术栈14 小时前
Qt工控实战:自研机器人TCP长连接客户端(粘包处理+心跳保活+自动重连完整源码解析)
qt·tcp/ip·机器人