HTTTP及TCP的超时以及KEEP-ALIVE机制小结

1、HTTP的超时和Keep Alivehtml

HTTP Keepalive 机制是http 1.1中增长的一个功能。git

在HTTP 1.0中,客户端每发起一个http 请求,等收到接收方的应答以后就断开TCP。下一个请求再须要发送时,要从新创建TCP链接。github

在HTTP 1.1中,客户端每发起一个http请求以后,服务器能够经过keep alive的方式告知客户端,同时保持以前创建的TCP链接。下一个http请求和应答从而可以避免再次建连,经过已有链接继续发送。服务器

 

HTTP层的超时设置实例代码以下,setConnectionTimeout设置建连的超时时间,setTimeout设置收到应答的超时时间:socket

httpClient client = new HttpClient();client.setConnectionTimeout(30000); client.setTimeout(30000);tcp

HttpClient 4.3超时设置 - Doceespa

HTTP Keep-Alive详解[转] - huangfox - 博客园.net

 

2、TCP的超时和Keep alive的机制htm

TCP的数据包若是在一个RTO没有收到应答则进行重传,RTO的值由TCP传输过程当中测量的RTT以及最小RTO决定。blog

若是一个TCP链接长期没有数据传输,TCP能够经过Keep alive机制来控制和断开链接。

tcp的keepalive的三个配置参数包括:

tcp_keepalive_time:链路空闲时间达到tcp_keepalive_time以后开始发送包括数据包

tcp_keepalive_probes:发了保活包数目达到tcp_keepalive_probes断开链接

tcp_keepalive_intvl:保活数据包的发送间隔

开启tcp keepalive须要经过应用层序开启socket的keepalive功能。而keepalive的三个参数既能够经过系统命令sysctl进行设置,也能够经过设置socket属性进行设置。

为何基于TCP的应用须要心跳包(TCP keep-alive原理分析) | Hengyunabc Blog

相关文章
相关标签/搜索