Home > 前端开发 > cookie-free-浅谈前端性能之顶级域名与二级域名的使用

cookie-free-浅谈前端性能之顶级域名与二级域名的使用

在前端开发中经常会使用二级域名和独立的顶级域名作为资源服务器的地址,例如本站的顶级域名是elonglau.com,主域名是www.elonglau.com,那么我们可能会使用static.elonglau.com作为静态资源文件服务器的地址;为什么使用二级域名或者独立的顶级域名作为静态资源文件地址呢?有两个重要原因,第一、促使浏览器并行下载多个请求、提高加载速度;第二、cookie-free;那么,今天我没来着重探讨第二个。

YSlow给如何提高网页效率和优化网站性能提供了22条建议,其中有一条是关于域名的:Use cookie-free domains。

使用 cookie-free domains 有什么好处呢?当用户浏览器发送一个静态文件,如图片image、CSS样式表文件时会同时发送同一个域名(或二级域名)下的cookies,但是网站服务器对发送过来的cookies完全不予理会,因此这些没用的cookies白白浪费了网站带宽,影响网站加载速度和网页性能表现。YSlow建议为了解决这个问题,就可以通过使用 cookie-free domains 的方法来做优化,从而提高网页效率。

使用二级域名作为cookie-free domains

通俗地说,所谓的 cookie-free domains 就是在浏览器发送静态内容的请求时不会发送cookies 的域名。YSlow提示可以申请注册一个二级域名专门用来储存这些静态图片、JS、静态CSS文件。

在前面泛域名解析设置影响seo和Google PR值这里提到了www开头,形如www.farlee.info的域名实际上也是属于二级域名。如果你的网站主域名是www开头的域名,建立一个二级域名作为单独储存(hosting)静态图片、JS、CSS文件的cookie-free domains 是可行的;但是如果网站主域名用的是比较短的顶级域名,如博客用的是不带www的顶级域名elonglau.com,使用新创建的二级域名作为cookie-free domains的方法是无效的。因为顶级域名elonglau.com会向所有被请求的静态文件二级域名服务器发送cookies。

即www.elonglau.com 和 img.elonglau.com是互相独立的两个“二级域名”,不会造成域名污染, img.elonglau.com 可以作为cookie-free 域名;但是需要做一些设置,比如Wordpress 博客可以设置wp-config.php文件。

顶级域名elonglau.com 会向所有被请求的二级域名(子域名:www.elonglau.com和img.elonglau.com)发送cookies,img.elonglau.com也会被污染,不能当作cookie-free 域名。

使用独立域名作为cookie-free domains

那么使用顶级域名的博客应该如何使用 cookie-free domains?解决方法是使用另外一个独立域名。比如雅虎Yahoo! 自身使用的是就是独立域名ymig.com来作为cookie-free domains的,YouTube使用的是ytimg.com 独立域名。

由此可知,不管是使用不同于www的二级域名或是独立的顶级域名作为资源请求服务器地址,都是为了能够实现cookie-free消除http请求中夹带的cookies对服务器的影响,以提高服务器响应性能。那么到底cookies对服务器请求的影响到底有多少,该如何操作呢?我将会在以后的博文中继续和大家一同探讨!

回复 (0) to cookie-free-浅谈前端性能之顶级域名与二级域名的使用

› 尚无评论。

发表评论 修改评论取消编辑

允许使用的标签 - 您可以在评论中使用如下的 HTML 标签以及属性。

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

 :wink:  :-|  :-x  :twisted:  :)  8-O  :(  :roll:  :-P  :oops:  :-o  :mrgreen:  :lol:  :idea:  :-D  :evil:  :cry:  8-)  :arrow:  :-?  :?:  :!: