关于HTTP长连接

来源:互联网 发布:淘宝隐藏券怎么找 编辑:程序博客网 时间:2024/04/30 03:03

今天下午跟同事讨论起项目中客户端和服务端请求的问题,不经意讨论到http的连接问题了,发现大家对http长连接的一些点都不是太了解,于是在网上查了下资料,做个记录。


首先,什么是http长连接?

http长连接即持久连接是http1.1版本的一个特性,即一个http连接建立完成一个请求-回应后,可以不需要立刻关闭,可以重复使用,具体可以度娘下。


这个连接是否一定是请求-回应-请求-回应顺序进行的?

简单说就是一个回应服务器未返回前,客户端能否在这个连接上再发送一个请求?

这个也是讨论过程中比较不确定的,翻看了资料后,有解释是这样的:客户端发送多个请求而不用等待每个响应,但服务器必须按照接收请求的顺序发送响应。按这个说法,问题的答案应该是可以的。实际是怎样的呢?(程序猿就是这样,不亲自证明就是不相信)同事写了个模拟程序,连续发送两个请求,但结果很奇怪,只收到一个回应,这个跟服务端实现有关?有这个可能!

再看一个测试,无无意中发现一个测试浏览器并发速度的网页:http://stevesouders.com/hpws/parallel-downloads.php

我用chrome测试,按网页的说明,测试出chrome应该是4个并发连接的,再把console打开,看到network页,有10个图片的请求是同时发出的(这里就不贴出图片了),那么基本可以肯定http的长连接是可以发送多个请求而不用等待每个响应的。


新的一个问题来了,如果服务端做了负载均衡,那么一个长连接的多个请求不会跑到不同服务器?

原来协议对这个是有保证的,协议规定了proxy server,比如负载均衡服务,像apache、nginx这些proxy server,必须保证一个长连接只能去到一个服务器。有这个保证,那就不用担心了。



原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 话梅核吞下去了怎么办 芒果和海鲜吃了怎么办 小孩咳嗽喉咙有痰怎么办 4岁宝宝喉咙有痰怎么办 20天新生儿有痰怎么办 孩子嗓子老是有痰怎么办 买的哈密瓜不甜怎么办 吉他琴颈变形了怎么办 hcg值长得慢怎么办 蚊子老在耳边叫怎么办 刚买来的鲜海参怎么办 天冷手指关节疼怎么办 未满一年驾龄上高速违章怎么办 榴莲太生剥开了怎么办 榴莲开了没熟怎么办 榴莲打开了没熟怎么办 榴莲开口了没熟怎么办 榴莲没熟打开了怎么办 不熟的榴莲没熟怎么办 打开的榴莲没熟怎么办 开了的榴莲没熟怎么办 榴莲剥出来没熟怎么办 榴莲剥开了没熟怎么办 榴莲买回来没熟怎么办 整个的榴莲熟了怎么办 买的榴莲有点生怎么办 剥开的榴莲肉硬怎么办 买了钻戒后悔了怎么办 钻戒小钻石掉了怎么办 2岁宝宝爱看电视怎么办 笛子中音3有点高怎么办 长笛嘴型,杂音多怎么办 房子户型图没了怎么办 微信显示无响应怎么办 领完失业金档案怎么办 qq占了2g内存怎么办 吉他的弦断了怎么办 机械键盘轴坏了怎么办 钢琴的琴键坏了怎么办 连供管子有空气怎么办 刚买的竹笛炸音怎么办