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

一、HTTP的超时和Keep Alive

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

在HTTP 1.0中,客户端每发起一个http 请求,等收到接收方的应答之后就断开TCP。下一个请求再需要发送时,要重新建立TCP连接。

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

 

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

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

HttpClient 4.3超时设置 - Docee

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

 

二、TCP的超时和Keep alive的机制

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

如果一个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

转载于:https://www.cnblogs.com/jiangz/p/7102349.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值