2021-01-17 13:21:40 登录注册 RSS

当前位置: 公理网 >> 网友举报 >> http并发限制数目

http并发限制数目
发布时间:2018-08-23| 来源:公理网 | 点击发表评论
文章分类:Web前端

从Yahoo!
关于网站优化的经典14条建议,


在V2版中,已经更新到35条了,


参见网址:


http://developer.yahoo.com/performance/rules.html

具体规范见“All
”部分。


其中有需要减少请求连接数和减少DNS解析次数,


由于在http协议
中有对浏览器并发请求连接数的限制,1.1版本
中规定了是2个,


参见:http://www.w3.org/Protocols/rfc2616/rfc2616-sec8.html

PracticalConsiderations部分最后一段:


ClientsthatusepersistentconnectionsSHOULDlimitthenumberof
simultaneousconnectionsthattheymaintaintoagivenserver.Asingle-userclient
SHOULDNOT
maintainmorethan2connections
withanyserverorproxy.AproxySHOULDuseupto2*Nconnectionsto
anotherserverorproxy,whereNisthenumberofsimultaneouslyactive
users.TheseguidelinesareintendedtoimproveHTTPresponsetimesand
avoidcongestion.


于是通常
的优化网站加载速度的方法是采用多个域名
增加浏览器对同一网页
的请求并发连接数



如淘宝网的图片会出现在如下众多域名
下:


img01
.taobaocdn.com,img02
.taobaocdn.com,img03
.taobaocdn.com。。。


ping一下上述地址,就会发现img01,img03,img04的IP都是:121.14.63.250
,说明它们其实都指向了同一台服务器或同一路由服务器。


显然这样的做法与Yahoo!
14条或者22条或者35条中的ReduceDNSlookups
规则是相违背的,


这需要在提高并发连接数和减少DNS解析之前寻求到一个平衡点,以达到适合自己网站的最快速度。


--------------------------------------------------------------------------------------------


然而随着家庭宽带带宽的增加,普通用户上网速度的增加,


Yahoo!
也变成了新的22条或者35条,


说明在带宽不一样的今天,网站优化的原则也有所改变,


那么各个浏览器包括IE和Firefox是不是仍然严格地遵循着Http协议中关于2个
并发连接数的限制呢?


下面就来验证一下看看。


首先
来看看WindowsXP英文版IE8的并发连接数,


在开始菜单中的运行对话框中输入regedit
打开注册表编辑器,


依次打开注册表项:[HKEY_CURRRENT_USER/Software/Microsoft/Windows/CurrentVersion/InternetSettings
],


可以看到MaxConnectionsPerServer
和MaxConnectionsPer1_0Server
两个选项的值都是10
,而不是Http协议中规定的2个!


如图所示:





再看看
Firefox的相关配置:


在Firefox地址栏中输入:about:config

然后在配置页面中搜索:max,可以看到network.http.max-connections的值是30,


network.http.max-persistent-connections-per-server



也都不是协议所规定的2。


如图所示:


?





最后我们可以动手来写一个简单的JS函数来验证一下浏览器对同一域名(Server)的并发连接数的限制,


写一个发送Ajax请求的函数,其请求的后台页面做延迟响应,如php中用sleep(3)。


然后写16个调用语句,再写一个发送Ajax请求的语句,这个请求地址的后台页面收到请求后立即返回响应数据,


Demo地址如:http://developer.oncecode.com/comet/




HTTP最大并发连接数">主流浏览器的HTTP最大并发连接数
jueshengtianya

07-294102

参考:这几天翻阅了一下《HTTP:TheDefinitiveGuide》这本书,还是学到一些东西。看到HTTP客户端一般对同一个服务器的并发连接个数都是有限制的,所以顺便再次总结一下浏览...


HttpClien高并发请求连接池-PoolingHttpClientConnectionManager">HttpClien高并发请求连接池-PoolingHttpClientConnectionManager
641058431.jpg"alt="ll641058431">ll641058431

03-151014

????????连接池技术作为创建和管理连接的缓冲池技术,目前已广泛用于诸如数据库连接等长连接的维护和管理中,能够有效减少系统的响应时间,节省服务器资源开销。其优势主要有两个:其一是减少创建连接的资源...


并发连接数">web前端性能优化——DNS预解析和浏览器并发连接数
zqtsx

01-152403

当浏览器请求一个URL的时候,通过firebug我们可以发现大概有以下几个过程:阻挡、域名解析、建立连接、发送请求、等待响应、接收数据。后面四个跟用户的网络情况和你的服务器处理速度有关,本文重点说说前...


httpClient连接数满的方法">预防httpClient连接数满的方法
123456.jpg"alt="jek123456">jek123456

03-151506

由于自己做的项目最近报了很多这个异常:org.apache.http.conn.ConnectionPoolTimeoutException:Timeoutwaitingforconnecti...


限制配置">长连接短连接socket及windows连接数限制配置
huangjin0507

08-171.4万

TCP/IPTCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层。在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。在传输层中有TCP协议与UDP...


http请求与响应全过程">http请求与响应全过程
lzghxjt

05-241.6万

1、首先,在浏览器里输入网址:2、浏览器根据域名解析IP地址:3、浏览器与web服务器建立一个TCP连接4、浏览器给Web服务器发送一个http请求:5、服务器的永久重定向响应:6、浏览...


http并发,操作系统如何识别对应的进程,线程请求">http并发,操作系统如何识别对应的进程,线程请求
lxlmycsdnfree

05-20613

系统识别哪一个进程中的哪一个线程发送的http请求,这个是由网络协议中的四元组(目的端口,ip和源端口,ip).线程都是向web服务器80端口发送请求,但是源端口的分配是由系统自动分配,一旦分配成功...


Http完全解析(三)并发">OkHttp完全解析(三)并发
OyangYujun

11-255347

HttpURLConnection的API是阻塞是的API,通过创建一个写入阻塞发送一个请求,通过一个读取阻塞接受响应。[源码分析:4.2]框架连接FramedConnection?...


HttpClient多线程并发问题">HttpClient多线程并发问题
chen_fly2011

02-081043

这篇文章概括了怎样在多线程环境下安全的使用HttpClient。建立连接????在HttpClient中使用多线程的一个主要原因是可以一次执行多个方法。在执行期间,每一个方法都使用一个Htt...


5777153">js创建文档碎片
xcyuzhen:文档碎片相当于临时保存,append的时候其实只append碎片内部的结点,如果临时生成一个div...

最新新闻

手机浏览

公理网 版权所有

公理网 Total 0.033516(s) query 6, 报料QQ:点击这里

给我发消息