欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

[日常] HTTP连接管理

程序员文章站 2022-10-27 14:49:39
HTTP连接管理: 1.误解的Connection首部 当http报文经过中间客户端到服务端中间的各种代理设备时,对标签中列出的头信息进行删除,close是事务结束后关掉此条连接 2.消除串行化的时延 并行连接:多条TCP连接发起并发的HTTP请求 持久连接:重用TCP连接,消除连接和关闭时延 管道... ......
http连接管理:
1.误解的connection首部
当http报文经过中间客户端到服务端中间的各种代理设备时,对标签中列出的头信息进行删除,close是事务结束后关掉此条连接

2.消除串行化的时延
并行连接:多条tcp连接发起并发的http请求
持久连接:重用tcp连接,消除连接和关闭时延
管道化连接:通过并发的tcp连接发起并发的http请求

3.打开少量的并行连接,每一个连接都是持久连接
http/1.0+中的keep-alive 和 http/1.1中的 persistent
客户端发送connection:keep-alive 服务端响应connection:keep-alive就是支持,否则就是不支持

4.http/1.1的持久连接persistent
与keep-alive的区别是,这个默认就是打开的除非发送connection:close显式关闭

5.连接会在任意的时候关闭掉,每条http响应都应该包含content-length以校对数据的完整性
6.连接的关闭和重试会带来一些副作用,如果是post的请求重试多次会有风险
7.正常关闭连接,会有完全关闭和半关闭两种
    完全关闭就是服务端输入输出全关了,半关闭是只关闭了输出或者输入
    当数据被发送到一条已经关闭的连接上时,会出现,连接被对端重置的错误
    关闭时应该先关闭输出通道,再关闭输入通道