42

静态资源的一些问题

 4 years ago
source link: https://www.tuicool.com/articles/biURB3Q
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

前言

在写 cdn 和 对象存储文章的时候,看到了一些跟静态资源有关的问题,这里就来做一些整理。

什么是静态资源

不根据访问的条件变化的资源就是静态资源,比如 html,js,css,webfont 等文件。

为什么很多网站的静态资源使用独立的域名

  1. 避免发送无意义的 cookie ,当我们的浏览器第一次请求服务器的时候,会根据服务器响应报文中的 set-Cookie 来保存 cookie ,以后再次向这个服务器发送请求的时候都会带上 cookie ,所以我们即使向服务器请求静态资源,这个 cookie 也会发送,并且服务器对于这些 cookie 不会做任何处理,它们只是在毫无意义的消耗带宽。所以你应该确保对于静态内容的请求是无coockie的请求。需要注意的是子域名也会受到感染,所以要使用独立域名。
  2. 动静分离。静态资源与动态内容分离,有利于部署于CDN。
  3. HTTP 协议对同一个域名的同时下载线程数有限制。主要是为了优化下载速度,防止同一域名下下载线程数过多,导致下载速度变慢。各个浏览器都会遵守这个规定,但是限制的数目可能不一致。基于这个原因,可将资源部署于不同的域名,以达到最大化并发下载。
  4. 静态资源独立部署,为全局产品服务。方便复用,放在一个服务器上的文件可以共其他服务器上的产品使用。 比如 taobao.comtmall.com 都会用到 tbcdn.cn 上的静态资源,这样同时也有利于最大化利用客户端缓存。比如访问 taobao.com ,缓存了 tbcdn.cn 上的某个 js 文件,之后再访问 tmall.com 时,也用到此 js 文件,不必再从 tbcdn.cn 上下载,直接用客户端缓存即可。

静态资源加速方法

Web静态资源缓存及优化

参考文章

  1. 静态资源放置于独立域名下的好处

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK