IE、Firefox对同一域名访问并发限制,及解决优化方案

JSON 2016-08-22 16:59:53 8463

这个问题很少人会注意到,前几天公司产品库项目图片切换到 CDN  存储,我发现了这个问题,由于一个页面上的图片太多,而图片的域名只有一个,导致有的图片加载要几十秒。

一、问题(如下图)


这还是在比较乐观的情况下,有几秒加载完毕的,按道理来说,图片都不大,应该都在1秒范围内就才是在接收范围内。当然和用户自身的带宽也有关系,但是从我的观察来看,是分批加载的。

于是乎我查看资料,发现。

从Yahoo关于网站优化的经典14条建议,在V2版中,已经更新到35条了,其中有需要减少请求连接数和减少DNS解析次数,由于在http协议中有对浏览器并发请求连接数的限制,1.1版本中规定了是2个(相关资料可以查看文章的结尾),于是通常的优化网站加载速度的方法是采用多个域名增加浏览器对同一网页的请求并发连接数。

二、下面我来看看各大电商是怎么处理的。

1.京东(www.jd.com)

    京东图片域名一直是老域名360buyimg.com。

    http://img13.360buyimg.com/da/jfs/t1879/131/2924301202/126044/7c7cbf5c/56f3b58fN37c1340a.jpg

    比如说这张图片,你可以复制打开这个链接,把前面的二级域名的Img13换成img11、img12、img13等,发现都是可以打开的,而且一般是同一IP,有的同学说换成img8、img1、img2等打不开,这个是策略问题。这只是举个栗子。

2.天猫(www.tmall.com)

    图片CDN域名有很多,tbcdn.cn、alicdn.com 等

    也是同理,不过最近HTTPS转变后都换成img.alicdn.com了。原因不明。

三、说一下Firefox浏览器

Firefox地址栏中输入:about:config

在搜索项输入:network.http.max-connections

老版本值是30,我这个版本是256,说明有改进。

我们再输入:network.http.max-persistent-connections-per-server进行搜索,发现是6。

你可以写个Demo测试一下,写个小循环,然后访问同一个域名(推荐用 Ajax  方式),然后后台sleep一会,你就能看出效果。之前有人做过低版本的测试,得出结论。

IE8的并发连接数限制为10;

Firefox    和 chrome  的并发连接数都为6,可能各个版本有区别。作为一个站长,或者说一个完善的产品,这个是不得不考虑的。

解决方案:

1.给定一组域名,如:img1.baidu.com、img2.baidu.com、img3.baidu.com、img4.baidu.com... ...

2.这组域名指向同一个源,或者说最终源是一个。

3.上传图片(静态文件)的时候随机返回这组域名中的其中一个即可,这样图片的访问域名就不会出现只是一个域名了。



版权所属:SO JSON在线解析

原文地址:https://www.sojson.com/blog/98.html

转载时必须以链接形式注明原始出处及本声明。

本文主题:

如果本文对你有帮助,那么请你赞助我,让我更有激情的写下去,帮助更多的人。

关于作者
一个低调而闷骚的男人。
相关文章
Java 实现多个二级域名访问同一个Tomcat(系统)。
HttpClient获取访问域名的真实ip,HttpClient请求获取目标IP地址
Elasticsearch教程,Elasticsearch安全篇,通过Nginx http basic 限制访问
Java 正则获取域名
正则从URL中提取域名,支持大部分域名
Shiro教程(十一)Shiro 控并发登录人数限制实现,登录踢出实现
查询任意域名是否是阿里云备案接入 API
Shiro 通过配置Cookie 解决多个二级域名的单点登录问题。
Java获取域名,Java从URL地址中获取域名,Java从Request 获取域名
根据域名获取IP地址,Java 获取域名的IP地址
最新文章
XML内部实体和外部实体 150
Java面向对象编程概念 111
PHP回显语句 91
Linux—文件树 116
C语言while循环和do while循环 131
Python元组剖析 200
MySQL触发器教程 314
sql使用布尔运算符和关系运算符 241
C语言的变量和常量 296
PostgreSQL:数据库角色 123
最热文章
最新MyEclipse8.5注册码,有效期到2020年 (已经更新) 681984
苹果电脑Mac怎么恢复出厂系统?苹果系统怎么重装系统? 674719
免费天气API,全国天气 JSON API接口,可以获取五天的天气预报 602033
免费天气API,天气JSON API,不限次数获取十五天的天气预报 576900
Jackson 时间格式化,时间注解 @JsonFormat 用法、时差问题说明 552912
我为什么要选择RabbitMQ ,RabbitMQ简介,各种MQ选型对比 509353
Elasticsearch教程(四) elasticsearch head 插件安装和使用 479975
Jackson 美化输出JSON,优雅的输出JSON数据,格式化输出JSON数据... ... 264502
Java 信任所有SSL证书,HTTPS请求抛错,忽略证书请求完美解决 244246
Elasticsearch教程(一),全程直播(小白级别) 225569
支付扫码

所有赞助/开支都讲公开明细,用于网站维护:赞助名单查看

查看我的收藏

正在加载... ...