【读书笔记】HTTP权威指南---第一部分 第4章 连接管理

本章主要讲一下几点:

  • HTTP是如何使用TCP连接的;
  • TCP连接的时延、瓶颈以及存在的障碍;
  • HTTP的优化,包括并行连接、keep-alive(持久连接)和管道化连接;
  • 管理连接时应该以及不应该做的事情。

 

TCP连接

TCP为HTTP提供了一条可靠的比特传输管道。

TCP连接是通过4个值来识别的:

<源IP地址、源端口号、目标IP地址、目标端口号>

TCP套接字编程 --- 相见linux相关书籍

TCP慢启动,TCP连接会随时间进行自我“调谐”,起初会限制连接的最大速度,如果数据成功传输,会随着时间的推移提高传输的速度。用于防止因特网的突然过载和拥塞。

更多关于tcp连接相关的内容,请查看TCP/IP卷。

 

并行连接

HTTP允许客户端打开多条连接,并行地执行多个HTTP事务。

持久连接

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

持久连接有两种类型:

1.比较老的HTTP/1.0+ "keep-alive"连接;

2.HTTP/1.1 "persistent"连接。

Keep-Alive操作

主要通过 Connection: Keep-Alive的首部来实现。

注意,keep-alive首部只是请求将连接保持在活跃状态。发出keep-alive请求之后,客户端和服务器并不一定会同意进行keep-alive回话。它们可以在任意时刻关闭空闲的keep-alive连接,并可随意限制keep-alive连接所处理事务的数量。keep-alive可以带一些选项,如max为希望多少个事务保持此状态,timeout为希望保持活跃状态时间。

例:

Connection: Keep-Alive

Keep-Alive: max=5, timeout=120

HTTP/1.1持久连接

与HTTP/1.0不同,HTTP/1.1持久连接在默认情况下是激活的,除非特别指明,否则所有连接都是持久化的。要在事务处理结束之后将连接关闭,HTTP/1.1应用程序必须向报文中显式地添加一个Connection: close首部。

管道化连接

在响应到达之前,可以将多条请求放入队列中。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值