为什么很多网站把样式表、图片等资源放在一个独立域名下?_html/css_WEB-ITnose
我发现越来越多的大型网站,喜欢把网页上用到的图片、样式表、JS等资源放在一个独立的域名下。
这么做有什么好处呢?哪位大侠给解惑一下~
比如:
中关村在线
zol.com.cn
zol-img.com.cn
回复讨论(解决方案)
可能以防被盗吧
减轻服务器压力啊,图片资源还是很费服务器资源和带宽的
这是作服务器负载均衡的。
当然作一下防盗链也很方便,因为服务器压力分开了,比较小。
浏览器对同一个域名有链接数的限制
浏览器对同一个域名有链接数的限制
谁告诉你的!!!不懂不要胡扯。
把不同的资源放到不同的域名下,同为了分流服务器的压力的。
你可以试下查询一下那些域名的Ip指向,这样的话可以使用多台服务器共同为这个网站服务,当网站访问压力高的时候,多台服务器要远比单台服务器可以承受的压力大的。
引用 4 楼 firebugdotname 的回复:
浏览器对同一个域名有链接数的限制
谁告诉你的!!!不懂不要胡扯。
把不同的资源放到不同的域名下,同为了分流服务器的压力的。
你可以试下查询一下那些域名的Ip指向,这样的话可以使用多台服务器共同为这个网站服务,当网站访问压力高的时候,多台服务器要远比单台服务器可以承受的压力大的。
+1
引用 4 楼 firebugdotname 的回复:
浏览器对同一个域名有链接数的限制
谁告诉你的!!!不懂不要胡扯。
把不同的资源放到不同的域名下,同为了分流服务器的压力的。
你可以试下查询一下那些域名的Ip指向,这样的话可以使用多台服务器共同为这个网站服务,当网站访问压力高的时候,多台服务器要远比单台服务器可以承受的压力大的。
不被理解真是不好受呀 还要被说成 “胡说”, 难道5楼您不知道浏览器对同一域资源下的请求,会保持一定的链接数吗? 同一时间(极短时间内)的过多请求,会被阻塞,如果你做ajax,你懂的。 请别误人子弟。当然你说的分流服务器的压力,我不反对。
谁知道两个域名指向的是不是同一台服务器涅?
不被理解真是不好受呀 还要被说成 “胡说”, 难道5楼您不知道浏览器对同一域资源下的请求,会保持一定的链接数吗? 同一时间(极短时间内)的过多请求,会被阻塞,如果你做ajax,你懂的。 请别误人子弟。当然你说的分流服务器的压力,我不反对。
我理解你
LZ可以看下yahoo前端优化的34条军规
还可以用YSlow等插件给你网站评分
有时候甚至在同一台服务器上分配多个域名来优化。不过,过多的域名可能导致DNS查询过多,所以往往不会滥用这个手段。
当然了,大站一般是为图片、CSS等静态资源启用CDN,这又是另一方面了。
主要是提升网站的性能,把图片、css、js文件放在另一个服务器上(资源服务器),有利于cpu负载和带宽均衡。而网页中html标签的href、src属性如果引用一个ip地址是不妥的(因为资源服务器的ip地址可能会变),所以给资源服务器注册一个独立域名,便于href、src属性的设置一劳永逸。
比如网站放在服务器A,图片等放在服务器B(202.123.16.8),A里面有个网页,其中某个标签的src属性如果设置为src="202.123.16.8/images/1.jpg",以后B所在的ip地址换成别的,这个网站程序就会运行出错。所以给B一个独立域名,比如www.ziyuan123456.com,让这域名指向202.123.16.8,那么src="http://www.ziyuan123456.com/images/1.jpg"就行了。以后B的ip地址如果换了,只要重新做下域名指向就行了,网站程序不用改。
浏览器对同一个域名有链接数的限制
up~~~~
减少http请求数 IIS 链接数 ,保证更多的用户能同时并更快的打开页面
引用 5 楼 robake 的回复:
引用 4 楼 firebugdotname 的回复:
……
不被理解真是不好受呀 还要被说成 “胡说”, 难道5楼您不知道浏览器对同一域资源下的请求,会保持一定的链接数吗? 同一时间(极短时间内)的过多请求,会被阻塞,如果你做ajax,你懂的。 请别误人子弟。当然你说的分流服务器的压力,我不反对。
你不会是用ajax用多了吧,同一时间,你为什么要加上极短时间内呢?这个假设条件根本不存在。浏览器去下载资源本身就是新开了一些线程的,你做过多线程的你就知道,线程不能无限的开,这个跟IIS链接数有神马关系?你见过浏览器访问网页有堵塞的吗?那你见过service unavailable吧,这个就是因为网页服务器的并发数过高造成的。。。
说的是浏览器同时请求数,不是说服务器端
引用 7 楼 firebugdotname 的回复:
引用 5 楼 robake 的回复:
引用 4 楼 firebugdotname 的回复:
……
不被理解真是不好受呀 还要被说成 “胡说”, 难道5楼您不知道浏览器对同一域资源下的请求,会保持一定的链接数吗? 同一时间(极短时间内)的过多请求,会被阻塞,如果你做ajax,你懂的。 请别误人子弟。当然你说的分流服务器的压力……
YES 我是写ajax写太多了,你没碰到过不代表别人没碰到过,假设我发出了个ajax请求,服务器因为某些原因没有立即给我响应,这时候我又发出了另一条请求,还是没有立即给我响应,如此累加,会导致后面的请求根本无法发出。我为什么要加上 “极短时间”? 服务器超时,这个,你懂的。
大家说的真好啊,我明白了不少,我再消化消化,然后回来结贴了哈,感谢各位!
[/url]的回复:]
可能以防被盗吧 同意此观点
引用 13 楼 robake 的回复:
引用 7 楼 firebugdotname 的回复:
引用 5 楼 robake 的回复:
引用 4 楼 firebugdotname 的回复:
……
不被理解真是不好受呀 还要被说成 “胡说”, 难道5楼您不知道浏览器对同一域资源下的请求,会保持一定的链接数吗? 同一时间(极短时间内)的过多请求,会被阻塞,如果你做ajax,你懂的……
看来你没做过桌面开发,没做过多线程,浏览器下载资源都是通过线程来进行的,就是ajax也是浏览器使用线程进行的。同一时间类过多的ajax请求被阻塞不是因为你的链接数的问题,而是因为浏览器为了保证系统的资源,对浏览器所使用的线程数作了限制,线程数太多,会消耗掉电脑的所有资源,总不能因为打开一个网页就造成系统反应缓慢吧。只要是没有到浏览器限定的线程数,那么,你的ajax请求是不会被阻塞的,明白么?
同时,你有见过谁开网页一开几十个的?将不同的资源放到不同的服务器上主要目的就是为了分流压力,以及维护的方便(尤其对于使用集群的网站,这个在维护的时候起的作用非常大)。
很明显我没做过桌面开发,我做的是web开发。
一个拿刀 一个拿剑 怎么分高低。 操
一个拿刀 一个拿剑 怎么分高低。 其实讨论的都是web的问题 , 跟桌面还是有很大区别的。