[日常] HTTP连接管理

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.正常关闭连接,会有完全关闭和半关闭两种
    完全关闭就是服务端输入输出全关了,半关闭是只关闭了输出或者输入
    当数据被发送到一条已经关闭的连接上时,会出现,连接被对端重置的错误
    关闭时应该先关闭输出通道,再关闭输入通道

  

posted @ 2018-11-07 21:44  唯一客服系统开发笔记  阅读(290)  评论(0编辑  收藏  举报