http协议读书笔记2-连接管理
一、http是如何使用tcp连接的?
http连接本质就是tcp连接和一些使用连接的规则。所有的http通讯都是由tcp/ip来承载的。tcp/ip是全球计算机及网络设备都在使用的一种常用的分组交换的网络分层协议集。客户端程序打开一条tcp/ip连接。连接到可能运行在世界任何地方的服务器应用程序。
1.tcp流是分段的,由ip分组传送
网络协议栈
http要传送一条报文的时候,会以流的形式将报文数据的内容通过一条打开的TCP连接按照顺序传输。TCP收到数据流后,会将数据流分成被称之为段的小数据块,并将段封装在ip分组中,通过
因特网进行传输,见下图。这些工作都是TCP/IP软件来处理的,HTTP程序员什么都看不到。
2.一个tcp连接是由4个值来识别的,<源ip地址:源端口 目的ip地址:目的端口> tcp 是通过端口号来保持所有这些连接的正确运行的。
3. tcp客户端和服务器是通过tcp套接字接口来进行通讯的,如下图所示:
对上图的说明:
web服务器等待连接(S4),客户端根据URL判定出IP地址和端口号,并建立一条到服务器的TCP连接C3,连接建立成功,客户端发送http请求C5,服务器读取请求S6,
服务器对请求进行处理,执行请求的动作S7,客户端读取数据C6,客户端处理数据。
二、TCP连接的时延、瓶颈、存在的障碍
1.tcp连接建立握手
2.tcp慢启动拥塞机制
3.数据聚集的Nagle算法
4.用于捎带确认 的TCP确认suanfa
5.TIME_WAIT 时延和端口耗尽
三、HTTP连接的优化
1.并行连接
并行连接可能会提高页面的访问速度,但是并行连接不一定很快
2.持久连接keep-alive
3.管道化连接 http/1.1
四、关闭连接
1.任意时刻可以关闭连接
2.Content-Length及截尾
3.连接关闭容限、重试及幂等性
4.正常关闭
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?