HTTP连接的处理

并行连接

通过多条TCP连接发起并发的HTTP请求。

持久连接

重用TCP连接,以消除连接及关闭时延。

站点局部性:初始化了对某服务器HTTP请求的应用程序很可能会在不久的将来对那台服务器发起更多的请求。

HTTP/1.1允许HTTP设备在事务处理结束之后将TCP连接保持在打开状态,以便为未来的HTTP请求重用现存的连接。在事务处理结束之后仍然保持在打开状态的TCP连接被称为持久连接。非持久连接会在每个事务结束之后关闭。

持久连接有两种类型:比较老的HTTP/1.0+”keep-alive”连接,以及现代的HTTP/1.1 “persistent”连接。实现HTTP/1.0+”keep-alive”连接的客户端发送一个包含Connection: Keep-Alive首部的请求,如果服务器愿意为下一条请求保持连接打开状态,就在响应中包含相同的首部,否则客户端会在此响应后关闭连接。Connection: Keep-Alive首部必须随所有希望保持持久连接的报文一起发送,否则服务器将在那条请求之后关闭连接。

HTTP/1.1逐渐停止了对keep-alive的支持,用一种名为持久连接的改进型设计取代了它。持久连接默认情况下激活,事务处理结束后关闭连接需要添加一个Connection: close首部。不过客户端和服务器仍然可以随时关闭空闲的连接。

管道化连接

通过共享的TCP连接发起并发的HTTP请求。

HTTP/1.1允许在持久连接上可选地使用请求管道。在响应到达之前,可以将多条请求放入队列。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据