一、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

HTTTP及TCP的超时以及KEEP-ALIVE机制小结的更多相关文章

  1. TCP/IP协议--TCP的超时和重传

    TCP是可靠传输.可靠之一体现在收到数据后,返回去一个确认.但是不能完全避免的是,数据和确认都可能丢失.解决这个办法就是,提供一个发送的重传定时器:如果定时器溢出时还没收到确认,它就重传这个报文段. ...

  2. 【TCP/IP详解 卷一:协议】第二十一章 TCP的超时与重传

    作为TCP的重头戏,本章节涉及了许多关于计算方面的内容,使用了大量的例子来指明一些观点. 我使用的理解方法是:通过别人的博客,以及实例结合进行理解,不然会很吃力. 21.1 引言 reliable T ...

  3. linux下的tcp连接超时

    最近需要写一个linux下的通信程序, 通信模块用的是Qt的QTcpSocket. 最后程序需要增加一个断网检测, 在windows下调试没问题, 拔网线, 断网口都能马上检测到, 但到了部署到lin ...

  4. 【TCP】超时与重传

    在TCP连接中假设发送方一开始便向网络发送多个报文段,直到达到接收方通告的窗口大小为止.当发送方和接收方处于同一个区域网段时,这种方式是可以的.但是如果发送方和接收方之间存在多个路由器和速率较慢的链路 ...

  5. TCP/IP详解学习笔记(12)-TCP的超时与重传

    超时重传是TCP协议保证数据可靠性的另一个重要机制,其原理是在发送某一个数据以后就开启一个计时器,在一定时间内如果没有得到发送的数据报的ACK报文,那么就重新发送数据,直到发送成功为止. 1.超时 超 ...

  6. TCP之超时和重传

    RTT:往返时间:  RTO:Retransmission Timeout即超时重传时间: 关键点在于:超时和重传间隔的策略,即怎样确定超时间隔和重传间隔: TCP中的四个定时器:2MSL定时器:重传 ...

  7. 13.TCP的超时与重传

    TCP提供可靠的运输层.它使用的方法之一就是确认从另一端收到的数据.但数据和确认都有可能会丢失.TCP通过在发送时设置一个定时器来解决这种问题.如果当定时器溢出时还没有收到确认,它就重传该数据. 对于 ...

  8. TCP/IP详解 卷1 第二十一章 TCP的超时与重传

    21.1 引言 可靠性的保证之一就是超时重传 前面两个超时重传的例子 1)  ICMP端口不能到达时,TFTP客户使用UDP实现了一个简单的超时和重传机制,假定5s是一个适当是时间间隔,并每隔5s进行 ...

  9. TCP/IP具体解释学习笔记--TCP的超时与重传

    1.基本概念 TCP之所以能够安全的将数据在传输中的安全性,是因为它每次给对方发送数据,都会等待对方给个确认,当长时间收不到这个确认,发送端就会重发这个数据. 2.超时时间的測量 要測超时时间,TCP ...

随机推荐

  1. Unable to start a VM due to insufficient capacity

    今天cloudstack中的一个普通用户创建虚拟机时,总是报错:Unable to start a VM due to insufficient capacity ,看management and a ...

  2. Delphi DBGrid类控件定位到某一行,并更改为选中状态。

    Delphi中,可以使用数据集控件提供的 Locate 成员方法快速定位至某条记录, 然后通过清除数据集控件的选中状态,并重新赋值达到我们的目的. grDirectory.DataSource.Dat ...

  3. 20155229《网络对抗技术》Exp:网络欺诈防范

    实验内容 (1)简单应用SET工具建立冒名网站 (2)ettercap DNS spoof (3)结合应用两种技术,用DNS spoof引导特定访问到冒名网站. 实验步骤 简单应用SET工具建立冒名网 ...

  4. 《网络对抗》Exp7 网络欺诈防范

    20155336<网络对抗>Exp7 网络欺诈防范 实验内容 本实践的目标理解常用网络欺诈背后的原理,以提高防范意识,并提出具体防范方法.具体实践有 简单应用SET工具建立冒名网站 (1分 ...

  5. WPF编程,TextBlock中的文字修饰线(上划线,中划线,基线与下划线)的使用方法。

    原文:WPF编程,TextBlock中的文字修饰线(上划线,中划线,基线与下划线)的使用方法. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_4330 ...

  6. lm393

    电压比较芯片,供电电压和输出电压一致.

  7. 自定义CCNode

    对Touch事件的获取与处理可以使用CCLayer, CCMenuItem等,但是如果我们需要一个虚拟按键或者需要对特定精灵进行拖动等等,我们就需要自定义Touch类. 自定义Touch事件处理类重要 ...

  8. [CF1019C]Sergey's problem[构造]

    题意 找出一个集合 \(Q\),使得其中的点两两之间没有连边,且集合中的点可以走不超过两步到达其他所有不在集合中的点.输出任意一组解. \(n\leq 10^6\) 分析 考虑构造,先从 \(1\) ...

  9. SQL SERVER 2008R2 安装问题

    背景   今天帮可以安装数据库.操作系统是windows server 2012 标准版,  安装SQL SERVER 2008R2 . 运行安装程序,提示如下   这是因为两者之间存在兼容性问题. ...

  10. WPF DataGrid列设置为TextBox控件的相关绑定

    在wpf的DataGrid控件中,某一列的数据模板为TextBox控件的话,绑定Text="{Binding TxtSn, UpdateSourceTrigger=PropertyChang ...