这些信息(“此连接是计算机
A
和服务器
F
之间的连接”)存储在哪里?
TCP连接由源IP和端口以及目标IP和端口识别。您的操作系统、所有中间会话感知设备和服务器的操作系统都将通过此来识别连接。
HTTP使用请求-响应:客户端连接到服务器,执行请求并获取响应。如果没有保持活动状态,则与HTTP服务器的连接在每个响应后关闭。使用HTTP keep-alive,您可以保持底层TCP连接打开,直到满足某些条件为止。
这允许在单个TCP连接上进行多个请求-响应对,消除了TCP相对较慢的连接启动的一些问题。
当IIS(F)发送保持活动标题(或用户发送保持活动)时,是否意味着(E,C,B)保存连接?
不是。路由器不需要记住会话。实际上,属于同一TCP会话的多个TCP数据包不需要全部经过相同的路由器-这是由TCP管理的。路由器只选择最佳的IP路径并转发数据包。保持活动状态仅适用于客户端、服务器和任何其他中间会话感知设备。
这只适用于我的会话吗?
这是否意味着其他人不能使用该连接?
这就是TCP连接的意图:它是一个端到端的连接,只用于这两个参与方。
如果是这样的话-保持活动标头-是否减少了重叠连接用户的数量?
请定义“重叠连接”。请参阅HTTP持久连接以了解一些优缺点,例如:
- 较低的CPU和内存使用量(因为同时打开的连接较少)。
- 启用请求和响应的HTTP流水线。
- 减少网络拥塞(较少的TCP连接)。
- 在后续请求中减少延迟(无需握手)。
如果是这样的话,连接会保存多长时间?(换句话说,如果我设置keep-alive,“保持”多久?)
典型的keep-alive响应如下:
Keep-Alive: timeout=15, max=100
请参考超文本传输协议(HTTP)Keep-Alive头部的示例(HTTP/2的草案,其中保持连接头部的解释比2616和2086更详细):
然而,服务器可以在任意时间或请求次数之后自由关闭连接(只要它返回当前请求的响应即可)。这是如何实现的取决于您的HTTP服务器。