Subdomain 在子域中存储客户端文件(img、css、javascript)有什么好处?

Subdomain 在子域中存储客户端文件(img、css、javascript)有什么好处?,subdomain,client-side,Subdomain,Client Side,我注意到,所有高流量网站都将其客户端文件(img、css、javascript等)存储在子域或单独的域中 例如,Tumblr使用这样的子域 <script type="text/javascript" language="javascript" src="https://secure.assets.tumblr.com/javascript/prototype_and_effects.js?024ec5b06b4396bc5c84d8624"></script> Twi

我注意到,所有高流量网站都将其客户端文件(img、css、javascript等)存储在子域或单独的域中

例如,Tumblr使用这样的子域

<script type="text/javascript" language="javascript" src="https://secure.assets.tumblr.com/javascript/prototype_and_effects.js?024ec5b06b4396bc5c84d8624"></script>
Twitter还使用一个名为
twimg.com

<link rel="stylesheet" href="https://si0.twimg.com/a/1347423426/t1/css/t1_core.bundle.css" type="text/css" media="screen" />

我确信他们这样做是因为在性能上有好处具体的好处是什么?

此外,我正在建立一个网站,人们可以登录和注销。每个页面都有一些图像,3到4个css文件和3到4个javascript文件。目前,我使用主域来存储这样的客户端文件,
www.example.com/css/mypage.css

如果我使用子域来存储它们,在性能方面会有什么好处吗?(考虑到我的网站没有那么多客户端文件)


非常感谢

仅仅使用子域并不能获得任何性能优势。专用于资产的子域通常是更大的性能改进战略的一部分

例如:子域实际上可能指向与主网站在物理上不同的服务器,并且除了处理静态图像的请求之外什么也不做。它甚至可能使用不同的服务器软件(比如NGINX或lighttpd),其开销比传统的apache设置要小

子域通常也指向Akamai或Amazon CloudFront等CDN。CDN是在世界不同地区拥有数据中心的公司。当您从地理位置更接近收件人的计算机上提供静态文件时,可以大大减少文件到达收件人所需的时间


有时会设置一个完全不同的域来处理静态请求,比如facebook。这也是facebook域名中有字母CDN的原因。。。因为这就是它

子域本身没有任何好处。但是,位于子域上允许DNS系统使用CDN类型的缓存将您的请求发送到不同的服务器,甚至是完全不同的服务器集(正如Gunner所提到的)。托管静态内容有许多快速简便的方法,可以减轻动态内容服务器的负担


编辑:我注意到没有人注意到CDN(内容交付网络)代表什么。

通常这样做是为了利用CDN风格的缓存机制。通过将所有静态文件放在一个位置、一台服务器上、使用一种托管策略,可以更轻松地管理javascript、图像等静态文件。
<link rel="stylesheet" href="https://si0.twimg.com/a/1347423426/t1/css/t1_core.bundle.css" type="text/css" media="screen" />