静态资源放置于独立域名之下
2014-12-27 17:19
141 查看
今天看书时,某句话让我产生一个疑问,为什么静态资源要放在一个或者若干个独立的域名之下?我当时脑海中首先想到的就是为了动静分离,减轻web服务器压力,但是仔细一想不太对,如果仅是为了这个原因,大可不必启用那么多一级域名,用若干二级域名不是更好?于是带着这个疑问,拜访了搜索引擎。果然不出所料,原因不止这一个,现整理出来,作为备忘。
1、启用新的一级域名,每次请求浏览器不会携带cookie。这对于cookie内容比较大,并且流量大的网站会省去不少宽带费用。同时这也解惑了为什么不用二三级域名。
2、动静分离。静态资源与动态内容分离,有利于部署于CDN。
3、HTTP协议对同一个域名的同时下载线程数有限制。主要是为了优化下载速度,防止同一域名下下载线程数过多,导致下载速度变慢。各个浏览器都会遵守这个规定,但是限制的数目可能不一致。基于这个原因,可将资源部署于不同的域名,以达到最大化并发下载。
4、静态资源独立部署,为全局产品服务。这属于业务划分的范畴了。比如taobao.com和tmll.com都会用到tbcdn.cn上的静态资源,这些资源不必从属于某个产品。
5、接第4点原因,有利于最大化利用客户端缓存。比如访问taobao.com,缓存了tbcdn.cn上的某个js文件,之后再访问tmll.com时,也用到此js文件,不必再从tbcdn.cn上下载,直接用客户端缓存即可。
最后,这样做的同时,就已经减轻了每台服务器的压力,服务器越多,每个服务器压力就越小。当然,这需要一个平衡。
1、启用新的一级域名,每次请求浏览器不会携带cookie。这对于cookie内容比较大,并且流量大的网站会省去不少宽带费用。同时这也解惑了为什么不用二三级域名。
2、动静分离。静态资源与动态内容分离,有利于部署于CDN。
3、HTTP协议对同一个域名的同时下载线程数有限制。主要是为了优化下载速度,防止同一域名下下载线程数过多,导致下载速度变慢。各个浏览器都会遵守这个规定,但是限制的数目可能不一致。基于这个原因,可将资源部署于不同的域名,以达到最大化并发下载。
4、静态资源独立部署,为全局产品服务。这属于业务划分的范畴了。比如taobao.com和tmll.com都会用到tbcdn.cn上的静态资源,这些资源不必从属于某个产品。
5、接第4点原因,有利于最大化利用客户端缓存。比如访问taobao.com,缓存了tbcdn.cn上的某个js文件,之后再访问tmll.com时,也用到此js文件,不必再从tbcdn.cn上下载,直接用客户端缓存即可。
最后,这样做的同时,就已经减轻了每台服务器的压力,服务器越多,每个服务器压力就越小。当然,这需要一个平衡。
相关文章推荐
- 静态资源放置于独立域名之下的好处
- 静态资源放置于独立域名之下
- 静态资源放置于独立域名之下
- 网站的静态资源为什么要使用独立域名,竟然对访问性能还有如此大的影响
- 利用多域名存储静态资源进行性能优化:网站的静态资源为什么要使用独立域名
- 静态资源独立域名发布
- 浏览器请求阻塞到底是怎么回事?我们为什么要把静态资源分服务器放置?
- 为什么大网站把脚本、样式、图片等资源放在一个独立域名下?
- 静态资源的分布对网站加载速度的影响/浏览器对同一域名下并发加载资源数量
- spring boot 静态资源和拦截器
- Nginx静态资源POST请求返回405状态
- Asp.net页面静态内容自动从不同域名加载--极大提升客户端加载速度
- JSP引入静态资源路径问题
- SpringMVC静态资源访问问题
- apache 配置静态资源访问
- SpringMVC-----SpringMVC静态资源处理
- Spring MVC 处理静态资源出现 404 错误
- Eclipse Tomcat部署项目没有加载新加的静态资源文件
- 详解vue静态资源打包中的坑与解决方案
- 如何快速搭建静态资源服务器