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
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属性进行设置。