当前位置: 首页 > news >正文

TCP和HTTP协议有什么区别?

概念

1、TCP对应与传输层、而HTTP对应于应用层;

2、TCP是网络传输协议, HTTP是超文本传输协议;

TCP是底层协议,定义的是数据传输和连接方式的规范。
HTTP是应用层协议,定义的是传输数据的内容的规范。

HTTP也支持使用UDP协议(HTTP3),现在也有基于UDP的可靠协议QUIC。

困惑点

HTTP 是短连接,TCP 是长连接?

其实是一个历史上正确、现在容易误导的说法。

严格来说:

HTTP 不是连接 TCP 才是连接

HTTP 本身只是协议,不存在“连接长短”的概念。

真正的说法应该是:

HTTP 可以使用短连接模式 HTTP 也可以使用长连接模式 底层都运行在 TCP 连接之上

HTTP/1.0 为什么被称为短连接?

因为它默认一次请求完就关闭连接了。

3次握手连接和4次挥手断连,导致消息传输效率很低,所以HTTP也会使用keep alive,保持TCP连接


当请求一个Http接口时会发生什么?一套完整的流程是什么样的?

比如请求一个后端接口http://localhost:9776/test/hello,后端直接返回一个hello,流程是怎样的?

完整流程如下图:

分析:
连接

当回车时会先进行TCP连接(三次握手),可见图中编号171、173、175

171:客户端请求连接 173:服务端同意连接 175:客户端收到同意连接 176:服务端告知客户端TCP窗口大小调整。也就是Win=407808,告诉客户端:我还能接收 407808 字节,这是 TCP 流控,如果客户端要发的内容超过了窗口大小,就会进入客户端的本地Socket缓存中等待发送
发送业务数据
177:客户端发送真实业务内容。HTTP协议其实就作用在 TCP payload (170 bytes),就是将业务内容实用HTTP协议进行编码,然后放置在TCP协议的Data中

复制出16进制数据如下:

474554202f746573742f68656c6c6f20485454502f312e310d0a557365722d4167656e743a20417069666f782f312e302e30202868747470733a2f2f617069666f782e636f6d290d0a4163636570743a202a2f2a0d0a486f73743a206c6f63616c686f73743a393737360d0a4163636570742d456e636f64696e673a20677a69702c206465666c6174652c2062720d0a436f6e6e656374696f6e3a206b6565702d616c6976650d0a0d0a

转译出结果如下

GET /test/hello HTTP/1.1
User-Agent: Apifox/1.0.0 (https://apifox.com)
Accept: */*
Host: localhost:9776
Accept-Encoding: gzip, deflate, br
Connection: keep-alive

178:服务端回复收到请求内容 181:服务端发送需要响应的内容

16进制数据转译出结果如下:

HTTP/1.1 200
Content-Type: text/plain;charset=UTF-8
Content-Length: 5
Date: Fri, 29 May 2026 03:14:40 GMT
Keep-Alive: timeout=60
Connection: keep-alive

hello

182:客户端收到服务端发送的内容
断开连接

四次挥手断开连接

207:客户端请求断开连接 208:服务端收到客户端的断开连接请求 209:服务端请求断开连接 210:客户端收到服务端的断开连接请求

结束🔚

补充:

发到哪了? Seq
收到哪了? Ack
还能收多少? Win
数据有多少? Len
一车最多拉多少? MSS
仓库能扩多大? WS
什么时候发的? TSval
我回复的是哪个时间?TSecr

http://www.jsqmd.com/news/918090/

相关文章:

  • 【RT-DETR实战】098、Web端部署实战:当RT-DETR遇上TensorFlow.js的坑与解法
  • 2026金属花箱多少钱?影响价格的关键因素解析
  • 2026年绍兴黄金回收商情快讯:奢响佳回收究竟靠谱吗? - 天天生活分享日志
  • 乡村公共服务设施优化布局的地理计算方法【附仿真】
  • 如何将B站缓存视频从m4s格式转换为通用mp4:简单三步搞定
  • 2026论文降AI率网站:11款工具实测谁靠谱? - 降AI小能手
  • 2026四川成都+峨眉山+乐山大佛6天5晚导游推荐|口碑路线分析 - 随峰国旅
  • 佛山AI短视频哪个靠谱
  • 3个实用技巧:在Windows上完美管理AirPods的电池、连接与音频体验
  • 2026年绍兴黄金回收口碑品牌:奢响佳回头客占比与客户满意度的背后逻辑 - 生活测评君
  • 【Harbor 】Harbor 私有镜像仓库部署
  • AI驱动ERP自动单据识别、预测补货、动态定价——手把手部署Llama-3+Odoo 17全流程
  • 2026这6款硬核降AI率平台大曝光,一键把AI检测率精准控到安全区! - 降AI小能手
  • 基于ESP32的智能纸浆机DIY:从电路设计到3D打印全流程
  • Anthropic团队的使用Claudecode的最佳实践:从Claude.md到并行工作流
  • 告别命令行的烦恼:用Pycharm可视化搞定GitHub项目上传与同步(含403/443错误解决)
  • 2026西安黄金回收口碑榜:内行人实测排名前五,哪家大盘价给得最高? - 西安闲转记
  • 终极硬件侦探指南:如何与AMD Ryzen处理器深度对话
  • 番茄小说下载器完整指南:三步搞定离线阅读自由
  • 哔哩下载姬全攻略:3步掌握B站视频高效下载技巧
  • Alpine Linux Docker容器里怎么设置中文?一个命令解决中文乱码问题
  • 研发团队用的轻量工时+原型+效果图一体化协同系统(SpringBoot+Vue)
  • 2026四川成都+乐山大佛+峨眉山5天4晚导游排名|无购物口碑分析 - 随峰国旅
  • 费城独立钟声响起:在历史名城的足球新篇
  • 如何快速实现CREO到URDF转换?creo2urdf工具的完整使用指南 [特殊字符]
  • 别再死记硬背了!用《Turing Complete》游戏搞懂CPU的存储与总线到底怎么工作
  • Opus 4.8发布,Anthropic估值正式超越 OpenAI
  • Markn:重新定义Markdown编辑体验的轻量级实时预览工具
  • 郑州门联柜工厂,郑州致远门业工厂直发
  • 飞书文档批量导出神器:25分钟完成700+文档迁移的终极解决方案