视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
http的持久连接和管线化
2020-11-27 19:31:21 责编:小采
文档
 1.什么是持久连接? (keep alive模式)
HTTP1.1规定了默认保持长连接(HTTP persistent connection,也有翻译为持久连接);数据传输完成了保持TCP连接不断开(不发RST包、不四次握手),等待在同域名下继续用这个通道传输数据;相反的就是短连接。

HTTP 1.1版本支持持久连接 1.0版本不支持
与非持久连接的区别:
持久连接使客户端到服务器端连接持续有效,避免了重新建立连接
大大减少了连接的建立以及关闭时延。HTTP连接是建立在TCP协议之上的,建立一条TCP连接需要三次握手,TCP连接关闭时需要四次挥手。这些都是需要时间的。

2.什么是管线化
管线化机制须通过永久连接(persistent connection)完成,仅HTTP/1.1支持此技术(HTTP/1.0不支持)
在使用持久连接的情况下,某个连接消息的传递类似于
请求1 -> 响应1 -> 请求2 -> 响应2
管线化:某个连接上的消息变成了类似这样
请求1 -> 请求2 -> 请求3 -> 响应1 -> 响应2 -> 响应3

【注】

a、那么持久连接和管线化的区别在于:持久连接的一个缺点是请求和响应式是顺序执行的,只有在请求1的响应收到之后,才会发送请求2,而管线化不需要等待上一次请求得到响应就可以进行下一次请求。实现并行发送请求。

b、 只有GET和HEAD要求可以进行管线化,而POST则有所

c、初次创建连接时也不应启动管线机制,因为对方(服务器)不一定支持HTTP/1.1版本的协议

d、HTTP1.1要求服务器端支持管线化,但并不要求服务器端也对响应进行管线化处理,只是要求对于管线化的请求不失败,而且现在很多服务器端和代理程序对管线化的支持并不好,现代浏览器Chrome和Firefox默认并未开启管线化支持。

下载本文
显示全文
专题