Page 133 - HTTP权威指南
P. 133
(a) 串行连接
事务1 事务2 事务3 事务4
请求1 请求2 请求3 请求4
服务器 响应1 响应2 响应3 响应4
连接1 连接2 连接3 连接4 时间
客户端
(b) 持久连接
事务1 事务2 事务3 事务4
请求1 请求2 请求3 请求4
服务器 响应1 响应2 响应3 响应4
时间
客户端
(c) 管道化持久连接
请求1 请求2 响应1 响应2 响应3 响应4
请求3
请求4
服务器
事务1 时间
事务2
客户端
事务3
事务4
图 4-18 4 个事务(管道化连接)
4.7 关闭连接的奥秘
连接管理——尤其是知道在什么时候以及如何去关闭连接——是 HTTP 的实用魔法之
一。这个问题比很多开发者起初意识到的复杂一些,而且没有多少资料涉及这个问题。
4.7.1 “任意”解除连接
所有 HTTP 客户端、服务器或代理都可以在任意时刻关闭一条 TCP 传输连接。通常
18
会在一条报文结束时关闭连接, 但出错的时候,也可能在首部行的中间,或其他
106 | 第 4 章