从 HTTP 到 WebSocket:Web 通信与认证体系全解析

发布时间:2026/7/30 17:41:07

从 HTTP 到 WebSocket:Web 通信与认证体系全解析
在现代 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 管理的兼容性问题

相关新闻

{stock_name} ({stock_code}) 分析报告

{stock_name} ({stock_code}) 分析报告

2026/7/30 17:41:07

{stock_name} ({stock_code}) 分析报告 【免费下载链接】TradingAgents-CN 基于多智能体LLM的中文金融交易框架 - TradingAgents中文增强版 项目地址: https://gitcode.com/GitHub_Trending/tr/TradingAgents-CN 分析时间:{analysis_time} 一、基本信息 当…

利润预测AI上线即崩?这4个业务逻辑断层点必须在POC前锁定(附200+企业验证的Checklist)

利润预测AI上线即崩?这4个业务逻辑断层点必须在POC前锁定(附200+企业验证的Checklist)

2026/7/30 17:41:07

更多请点击: https://codechina.net 第一章:利润预测AI上线即崩?这4个业务逻辑断层点必须在POC前锁定(附200企业验证的Checklist) 利润预测AI模型在实验室准确率高达92%,上线首日却触发财务口径预警、导致…

为什么你的AI行为模型准确率卡在72%?资深架构师亲授:4类噪声数据清洗法+3种时序特征增强技巧

为什么你的AI行为模型准确率卡在72%?资深架构师亲授:4类噪声数据清洗法+3种时序特征增强技巧

2026/7/30 17:41:07

更多请点击: https://kaifayun.com 第一章:Shell脚本的基本语法和命令 Shell脚本是Linux/Unix系统自动化任务的核心工具,以可执行文本文件形式存在,由Bash等shell解释器逐行解析执行。其语法简洁但严谨,强调空格、换行…

APK解析器深度解析:3步掌握Android应用逆向分析核心技术

APK解析器深度解析:3步掌握Android应用逆向分析核心技术

2026/7/30 18:41:09

APK解析器深度解析:3步掌握Android应用逆向分析核心技术 【免费下载链接】apk-parser Apk parser for java 项目地址: https://gitcode.com/gh_mirrors/ap/apk-parser 在Android开发和安全研究领域,如何快速、准确地解析APK文件获取应用内部信息&…

5步轻松实现网站永久保存:Python网站离线下载完全指南

5步轻松实现网站永久保存:Python网站离线下载完全指南

2026/7/30 18:41:09

5步轻松实现网站永久保存:Python网站离线下载完全指南 【免费下载链接】WebSite-Downloader A website downloader written with Python 项目地址: https://gitcode.com/gh_mirrors/web/WebSite-Downloader 你是否曾经担心过心爱的技术博客突然消失&#xff…

计算机毕业设计之基于springboot的“悦读圈”图书共享平台

计算机毕业设计之基于springboot的“悦读圈”图书共享平台

2026/7/30 18:41:09

随着数字化阅读的兴起和共享经济的蓬勃发展,构建一个高效、便捷的图书共享平台显得尤为重要。本设计旨在基于Spring Boot后端框架与Vue前端框架,开发一款名为“悦读圈”的图书共享平台,以满足用户对图书资源的多样化需求,并促进图…

哈夫曼树和哈弗曼编码

哈夫曼树和哈弗曼编码

2026/7/30 18:41:09

一、ASCII码定长编码:八位表示一个,只用01表示,不能进行压缩,不出现的字母也要提前编码好变长编码:提高传输效率,可以压缩,只针对于出现的字母进项编码哈夫曼编码:也属于变长编码二、…

计算机毕业设计之Django基于人脸识别的高校查寝小程序序

计算机毕业设计之Django基于人脸识别的高校查寝小程序序

2026/7/30 18:41:09

当前,由于人们生活水平的提高和思想观念的改变,然后随着经济全球化的背景之下,互联网技术将进一步提高社会综合发展的效率和速度,互联网技术也会涉及到各个领域,于是传统的管理方式对时间、地点的限制太多,…

2026年7月大模型语义排名优化效果评估报告

2026年7月大模型语义排名优化效果评估报告

2026/7/30 18:31:09

2026年7月,随着多款国产大模型在商业化场景中进入深水区,企业品牌信息的AI推荐规则正在经历一轮系统性重构。过去依赖简单关键词堆砌和传统SEO的获客方式,被越来越多的中小企业视为“无效投入”,而围绕对话式AI检索与多模态内容匹…

[具身智能-649]:个人电脑搭建 RTSP 服务完整方案(Windows / Ubuntu 双平台,适配 RDK X5 rtsp2display 调试)

[具身智能-649]:个人电脑搭建 RTSP 服务完整方案(Windows / Ubuntu 双平台,适配 RDK X5 rtsp2display 调试)

2026/7/30 9:53:22

目标:电脑作为RTSP 服务端,循环推送 H264/H265 视频流; RDK X5 通过 rtsp2display 拉流预览,完全不需要在开发板编译 live555。 提供两套成熟方案: ✅ 方案 A:FFmpeg(最简单,优先推…

PDF合并与动态水印的工程化方案:2026国内免费工具实测对比

PDF合并与动态水印的工程化方案:2026国内免费工具实测对比

2026/7/30 1:17:46

一、背景与测试方案 在实际项目交付中,PDF文件合并与版权保护水印的叠加是一个高频但容易被低估的技术需求。典型的处理链路涉及:多源PDF的文件流合并、页面级水印渲染(含透明度混合与图层叠加)、输出文件体积控制。看似简单的操作…

PDF拆分压完图糊了?2026国内免费实测,档案员都在用的组合方案

PDF拆分压完图糊了?2026国内免费实测,档案员都在用的组合方案

2026/7/30 2:52:37

说实话,提到PDF拆分再压缩,我真是被折腾得够呛。 上个月公司年度合同归档,一份300多页的PDF总合同,需要按年份拆分成三个独立文件,再分别压缩到10MB以内方便邮件发送各部门确认。我心想这还不简单?先找个海…

粉笔直播课适合周末集中备考考生突破吗

粉笔直播课适合周末集中备考考生突破吗

2026/7/30 0:09:54

本文面向在职备考、工作日难以抽出整块时间、只能依靠周末集中复习的公考考生,围绕"该平台直播课是否适配周末集中备考节奏、能否支撑瓶颈突破"这一核心问题做客观拆解。文中数据来源于公开财报、官网公示价格、第三方投诉平台公开投诉及用户社区讨论&…

ThreadLocal(存取变量)实战获取当前登录的员工

ThreadLocal(存取变量)实战获取当前登录的员工

2026/7/30 0:09:54

注意AOP所应用的注解以及service方法上自定义的Log注解

INAV飞控配置终极指南:从零到稳定飞行的完整解决方案

INAV飞控配置终极指南:从零到稳定飞行的完整解决方案

2026/7/30 0:09:54

INAV飞控配置终极指南:从零到稳定飞行的完整解决方案 【免费下载链接】inav INAV: Navigation-enabled flight control software 项目地址: https://gitcode.com/gh_mirrors/in/inav INAV飞控配置是每个无人机爱好者必须掌握的核心技能,但很多新手…