实战测试网络报文的连接特性

案例1:打开虎扑网页,发现一个数据流,只要打开虎扑内部任意url都会触发该流,该流有tcp keepalive机制,无通信的情况下,45s交互一次,最多交互3次,再隔45s,服务端主动断开。期间关闭网址并不会断开连接。但是关闭浏览器,客户端会主动断开连接。

案例2:测试虎扑某网址,浏览器自动重复加载某个gif,持续大约四分钟后,服务器端主动断开,如果中途关闭浏览器,客户端会自动断开

案例3:百度搜索,没有信息后,心跳包15s发送一次,共交互5次,服务端主动断开连接。

案例4:微信通过8080端口进行通信,tcp保持长连接,当发送信息时,客户端发送相应报文,服务端回应相应报文;接收信息时,相反。并未发现微信类似于tcp报活的心跳包,连接只发现在关闭微信软件时才会断开。(可能keepalive时间特别长。)

总结:HTTP1.2通常建立的是tcp的长连接,但是keepalive参数的跨度可能比较短,为了便于http多个任务用单一tcp进行数据传输。如果多次心跳互发仍没有新的任务,连接会断开。打开多个网页可能都会用到同一个tcp连接。同一个网址会打开大量tcp连接!

 

案例5:有个tcp,不会发送keepalive包,而是在无交互持续25s后直接断开。这种连接似乎都没有传送数据。

总结:应该是没有心跳机制的长连接。

 

案例6:极少数的tcp,传输完数据后,客户端就直接选择断开。应该就是传说中的短连接了。

总结:让人惊讶的是,短连接的数目远远小于长连接。

 

HTTP/1.0中,默认使用的是短连接。但从 HTTP/1.1起,默认使用长连接,用以保持连接特性,当然其也支持短连接。HTTP的长短连接是基于TCP的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值