Roy*_*mir 104 http keep-alive http-headers
我被要求建立一个网站,其中一位联合开发人员告诉我,我需要包含keep-alive标头.
好吧,我读了很多关于它,但我仍有疑问.
当客户端对网页内容发出多个请求时,打开连接可提高性能,因为服务器可以更快地返回每个请求的内容.否则,服务器必须为每个请求打开一个新连接
看着

keep alive头(或用户发送保活),岂不是(E,C,B)保存这仅仅是我的会话的连接?对于那些感兴趣的人:
单击此示例页面将返回keep alive标头
Cod*_*ter 142
这些信息保存在哪里("此连接是在计算机
A和服务器之间F")?
源IP和端口以及目标IP和端口可识别TCP连接.您的操作系统,所有中间会话感知设备和服务器的操作系统都将通过此识别连接.
HTTP与请求 - 响应一起使用:客户端连接到服务器,执行请求并获得响应.如果没有keep-alive,则在每次响应后都会关闭与HTTP服务器的连接.使用HTTP keep-alive,您可以保持底层TCP连接处于打开状态,直到满足某些条件.
这允许在单个TCP连接上进行多个请求 - 响应对,从而消除了TCP的一些相对较慢的连接启动.
当IIS(F)发送keep alive header(或用户发送keep-alive)时,是否意味着(E,C,B)保存连接
不会.路由器不需要记住会话.实际上,属于同一TCP会话的多个TCP数据包不需要都通过相同的路由器 - 即TCP管理.路由器只选择最佳IP路径并转发数据包.Keep-alive仅适用于客户端,服务器和任何其他中间会话感知设备.
这只适用于我的会话?
这是否意味着没有其他人可以使用该连接
这就是TCP连接的目的:它是一种端到端连接,仅供这两方使用.
如果是这样 - 这是否意味着保持alive-header - 减少重叠连接用户的数量?
定义"重叠连接".有关优点和缺点,请参阅HTTP持久连接,例如:
如果是这样,连接保存多长时间?(换句话说,如果我保持活着 - "保持"直到什么时候?)
典型的保持活动响应如下所示:
Keep-Alive: timeout=15, max=100
Run Code Online (Sandbox Code Playgroud)
例如,参见超文本传输协议(HTTP)Keep-Alive Header(HTTP/2的草案,其中更详细地解释了保持活动标头2616和2086):
主机将timeout参数的值设置为主机允许空闲连接在关闭之前保持打开的时间.如果主机没有发送或接收数据,则连接空闲.
该max参数指示客户端将发出的最大请求数,或者允许服务器在持久连接上发出的最大请求数.一旦发送了指定数量的请求和响应,包含该参数的主机就可以关闭连接.
但是,服务器可以在任意时间或数量的请求之后自由关闭连接(只要它返回对当前请求的响应).如何实现这取决于您的HTTP服务器.
| 归档时间: |
|
| 查看次数: |
102889 次 |
| 最近记录: |