保持活页头的说明
我被要求build立一个网站,其中一个合作开发者告诉我,我需要包括keep-alive头文件。
那么我读了很多,但我仍然有疑问。
msdn – >
当客户端对网页内容发出多个请求时,打开的连接可以提高性能,因为服务器可以更快地返回每个请求的内容。 否则,服务器必须为每个请求打开一个新的连接
看着
- 当IIS(F)发送
keep alive
标题( 或用户发送保持活动 ),是否意味着(E
,C
,B
)保存仅用于我的会话的连接? - 这个信息在哪里保存( “这个连接属于”Royi“ )?
- 这是否意味着没有其他人可以使用该连接
- 如果是这样 – 这是否意味着保持活着的标题 – 减less重叠连接用户的数量?
- 如果是的话,这个连接能保存多久? (换句话说,如果我保持活着 – “保持”直到什么时候?)
ps对于那些有兴趣的人:
单击此示例页面将返回保持活动标题
信息保存在哪里(“这个连接在计算机
A
和服务器F
”)?
TCP连接由源IP和端口以及目标IP和端口识别。 您的操作系统,所有中间会话感知设备和服务器的操作系统将通过此识别连接。
HTTP与请求响应一起工作:客户端连接到服务器,执行请求并获得响应。 如果没有保持活动状态,则在每个响应之后closures与HTTP服务器的连接。 使用HTTP保持活动状态,可以保持底层TCP连接处于打开状态,直到满足某些条件。
这允许通过单个TCP连接发送多个请求 – 响应对,从而消除了一些TCP相对较慢的连接启动。
当IIS(F)发送保持活动头(或用户发送保持活动),是否意味着(E,C,B)保存连接
路由器不需要记住会话。 实际上,属于同一个TCP会话的多个TCP数据包不需要全部通过相同的路由器 – 这是TCPpipe理的。 路由器只需select最佳的IPpath并转发数据包。 保持活动仅适用于客户端,服务器和任何其他中间会话感知设备。
这只是我的会议?
这是否意味着没有其他人可以使用该连接
这就是TCP连接的意图 :这是一个仅供双方使用的端到端连接。
如果是这样 – 这是否意味着保持活着的标题 – 减less重叠连接用户的数量?
定义“重叠连接”。 请参阅HTTP持久连接的一些优缺点,例如:
- 较低的CPU和内存使用量(因为较less的连接同时打开)。
- 启用请求和响应的HTTPstream水线。
- 减lessnetworking拥塞(更less的TCP连接)。
- 减less后续请求的延迟(无握手)。
如果是的话,这个连接能保存多久? (换句话说,如果我保持活着 – “保持”直到什么时候?)
典型的保持活动响应如下所示:
Keep-Alive: timeout=15, max=100
例如,请参阅超文本传输协议(HTTP)Keep-Alive Header (HTTP / 2的草稿,其中保持活动标头比2616和2086更详细地解释):
-
主机将
timeout
参数的值设置为主机允许空闲连接在closures之前保持打开状态的时间。 如果主机没有发送或接收数据,则连接处于空闲状态。 -
max
参数表示客户端将请求的最大请求数,或者服务器将允许在持久连接上进行的请求数。 一旦发送了指定数量的请求和响应,包含该参数的主机就可以closures连接。
但是,服务器可以在任意时间或任意数量的请求之后自由地closures连接(只要它返回对当前请求的响应即可)。 这是如何实现取决于你的HTTP服务器。