您的位置:首页 > 理论基础 > 计算机网络

HTTPkeep-alive与TCP keepalive

2016-06-19 14:09 597 查看
keepaliveHttp 协议中有一个keep-alive的状态,Tcp 三次握手中也有一个keep-alive的状态,从字面上看就多了一个'-',它们两个是完全不同的。一、Http协议中的keep-alive: 在访问一个页面的过程中,会请求很多次服务器去获取不同的网页内容,而http的每次请求都是无连接的,请求->发送->关闭,所以在多次请求的过程中会使用不同的tcp端口号和sockfd,这样会发生多次的断开和链接tcp的过程,可以想象这种情况对于服务器而言是想当不利的。下面是我做的一个实验:我的搭建的服务器在一次网页请求中发生的链接和断开

可以看出,整个过程发生了3次链接和关闭的过程。而 http 中keep-alive的作用就是复用tcp,在浏览器请求服务器http服务时,服务器将保持当前的tcp链接一段时间,这个时间是可以通过keepalive_timeout设置的。浏览器在HTTP1.1下的keep-alive都是默认开启的。
二、TCP下的keepaliveTCP下的keepalive :这个keepalive是一种检测TCP链接状况的保险措施,它会每隔一定的时间就去client发送个数据,通过client端的反应来采取相应的措施。

所以:完全不同的两个keepalive

本文出自 “痕迹” 博客,请务必保留此出处http://wpfbcr.blog.51cto.com/10696766/1790766
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: