在现代 Web 技术栈中HTTP、HTTPS、Session、JWT、WebSocket 是构成网络通信与身份认证的核心五要素。很多开发者对它们的认知停留在零散知识点层面缺乏体系化的层级视角。本文先从全局关系切入建立整体认知再逐一拆解每项技术的完整生命周期与工作原理。一、五者关系总览层级与定位这五项技术分属网络协议栈和身份认证两个维度并非并列关系而是存在明确的上下层承载关系HTTP 与 WebSocket 是同层级的应用层通信协议前者为请求 - 响应模式后者为全双工长连接模式HTTPS /wss 不是独立协议是「HTTP/WebSocket TLS 加密层」的安全组合Session 与 JWT 是两种身份认证方案均可运行在 HTTP 和 WebSocket 之上核心结论协议栈从下到上TCP → TLS → HTTP/WebSocket认证机制运行于应用层之上与具体协议解耦HTTPS HTTP TLSwss WebSocket TLSSession 天然绑定 HTTP CookieJWT 更灵活可在任意载体传输二、HTTP无状态的应用层基石2.1 HTTP 协议本质HTTPHyperText Transfer Protocol是基于 TCP/IP 的应用层协议默认端口 80核心特征是无状态、请求 - 响应模式。无状态服务器不保存任何客户端的历史请求信息每次请求都是独立的请求 - 响应通信只能由客户端发起服务器被动响应连接模式HTTP/1.0 默认短连接HTTP/1.1 引入 Keep-Alive 支持长连接复用2.2 HTTP 完整通信流程DNS 解析客户端将域名解析为服务器 IP 地址TCP 三次握手建立传输层可靠连接发送 HTTP 请求客户端构造请求行、请求头、请求体服务器处理并响应服务器返回状态行、响应头、响应体TCP 四次挥手断开传输层连接短连接模式下立即断开2.3 HTTP 请求时序图三、HTTPS在 HTTP 之上构建安全隧道3.1 HTTPS 核心机制HTTPS HTTP TLS/SSL默认端口 443解决了 HTTP 的三大安全风险窃听风险明文传输易被拦截 → 对称加密传输数据篡改风险数据中途可被修改 → 消息摘要 数字签名保证完整性冒充风险服务器身份可伪造 → 数字证书认证服务器身份3.2 TLS 握手全过程TLS 1.2客户端问候发送支持的 TLS 版本、加密套件、随机数 Random1服务器问候选定加密套件返回随机数 Random2、服务器证书客户端验签使用 CA 公钥验证证书合法性提取服务器公钥密钥交换客户端生成预主密钥用服务器公钥加密后发送会话密钥生成双方基于随机数 预主密钥计算出对称会话密钥握手完成双方互发 Finished 消息验证握手过程完整性3.3 HTTPS 握手时序图TLS 1.3 优化将握手从 2-RTT 缩减为 1-RTT支持 0-RTT 恢复大幅降低握手延迟。四、Session服务端存储的会话认证4.1 Session 工作原理由于 HTTP 无状态为了识别用户身份Session 机制应运而生服务器为每个用户创建唯一的 Session 对象存储用户状态服务器生成唯一的 session_id通过 Set-Cookie 返回给客户端客户端后续请求自动携带 Cookie 中的 session_id服务器通过 session_id 匹配对应的 Session 对象识别用户身份4.2 Session 完整生命周期首次登录客户端无 Cookie服务器创建 Session 并返回 session_id后续请求客户端携带 session_id服务器校验并恢复会话状态会话过期超过设定时长无活动服务器销毁 Session主动登出用户触发登出服务器删除对应 Session4.3 Session 认证时序图4.4 Session 优缺点优点安全性高状态存储在服务端可主动失效支持丰富的会话数据缺点分布式环境下需解决 Session 共享问题占用服务器内存易受 CSRF 攻击五、JWT无状态的令牌认证5.1 JWT 结构与原理JWTJSON Web Token是一种自包含的令牌认证机制核心思想是状态存在客户端服务端只做验签。JWT 由三部分组成用.分隔Header声明算法与类型如 {“alg”:“HS256”,“typ”:“JWT”}Payload存储用户信息与过期时间等声明Signature对前两部分的签名防止篡改5.2 JWT 认证全流程登录获取令牌用户提交凭证服务器验证后生成 JWT 返回请求携带令牌客户端将 JWT 放入 Authorization: Bearer 请求头服务端验签服务器用密钥验证签名合法性解析 Payload 获取用户信息令牌过期超过 exp 声明的时间令牌自动失效5.3 JWT 认证时序图5.4 JWT vs Session 核心差异六、WebSocket全双工的长连接通信6.1 WebSocket 核心特性WebSocket 是 HTML5 引入的协议默认端口 80ws/443wss解决了 HTTP 只能单向通信的痛点全双工客户端和服务器可同时双向发送数据长连接一次握手后连接持续保持低开销数据帧格式轻量头部开销小协议升级基于 HTTP 握手升级兼容现有网络基础设施6.2 WebSocket 完整生命周期握手升级客户端发送带 Upgrade 头的 HTTP 请求服务器同意后协议升级数据帧传输双方以帧为单位双向传输数据支持文本和二进制心跳保活通过 Ping/Pong 帧检测连接存活状态连接关闭任一方发送 Close 帧双方优雅断开连接6.3 WebSocket 通信时序图6.4 WebSocket JWT 认证WebSocket 本身没有内置认证机制最常用的方案是握手时在请求头或 Query 参数中携带 JWT七、工程实践选型建议普通网页、SEO 场景HTTP/HTTPS Session 是经典组合成熟稳定前后端分离、微服务架构HTTPS JWT 是主流方案便于跨域与水平扩展实时聊天、协同编辑、行情推送WebSocket JWT 认证实现低延迟双向通信高安全级别系统优先 Session HttpOnly Cookie HTTPS降低 XSS 风险移动端 APIJWT 更合适避免移动端 Cookie 管理的兼容性问题