欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

为什么很多网站把样式表、图片等资源放在一个独立域名下?_html/css_WEB-ITnose

程序员文章站 2022-04-26 10:59:22
...
这个问题困扰我很久了~~
我发现越来越多的大型网站,喜欢把网页上用到的图片、样式表、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的问题 , 跟桌面还是有很大区别的。