Categories: 網頁設計

cookie-free域名提高網頁效率-優化網站性能(yslow)

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.haohtml.com的域名實際上也是屬于二級域名。如果你的網站主域名是www開頭的域名,建立一個二級域 名作爲單獨儲存(hosting)靜態圖片、JS、CSS文件的cookie-free domains 是可行的;但是如果網站主域名用的是比較短的頂級域名,如遠方博客用的是不帶www的頂級域名haohtml.com,使用新創建的二級域名作爲 cookie-free domains的方法是無效的。因爲頂級域名haohtml.com會向所有被請求的靜態文件二級域名服務器發送cookies。
即www.haohtml.com 和 blog.haohtml.com是互相獨立的兩個“二級域名”,不會造成域名污染, blog.haohtml.com 可以作爲cookie-free 域名;但是需要做一些設置,比如下面介紹的Wordpress 博客設置wp-config.php文件的實例。
頂級域名haohtml.com 會向所有被請求的二級域名(子域名:www.haohtml.com和blog.haohtml.com)發送 cookies,blog.haohtml.com 也會被污染,不能當作cookie-free 域名。具體原因在下面Wordpress 博客cookie-free domains設置中有介紹。
使用獨立域名作爲cookie-free domains
那麽使用頂級域名的博客應該如何使用 cookie-free domains?解决方法是使用另外一個獨立域名。比如雅虎Yahoo! 自身使用的是就是獨立域名ymig.com來作爲cookie-free domains的,YouTube使用的是ytimg.com 獨立域名。
現在注册一個域名也很便宜的,godaddy 域名以.com .info .org .net 後綴的域名第一年購買都很便宜,第二年續費比較貴,這時候第二年可以再換一個新的。其他一些域名注册商也差不多這樣。
WordPress 博客cookie-free domains 設置
在Wordpress 博客中,針對使用帶www域名作爲網站主域名,其他二級域名作爲cookie-free domains 的情况,還要再另外設置Cookie的作用域就可以了。打開wp-config.php文件,設置COOKIE_DOMAIN:
<php? define(‘COOKIE_DOMAIN’, ‘www.haohtml.com’); ?> 所謂的COOKIE_DOMAIN,就是cookie-free domains相反的意思。看看Wordpress 對Set Cookie Domain 的介紹:
爲Wordpress設置的COOKIES Domain 可以進行一些特殊情况下的域名設置。比如使用二級域名存放靜態內容。爲了阻止Wordpress Cookies 在對每一個二級域名上的靜態內容請求時被傳送,我們可以只設置非靜態域名爲cookie domian。
The domain set in the cookies for WordPress can be specified for those with unusual domain setups. One reason is if subdomains are used to serve static content. To prevent WordPress cookies from being sent with each request to static content on your subdomain you can set the cookie domain to your non-static domain only.
設置COOKIE_DOMAIN就可以指定哪個二級域名需要傳送cookies,其他的域名不發送cookies。所以如果我們的網站主域名用的是 頂級域名,COOKIE_DOMAIN就必須設置爲頂級域名haohtml.com了,而頂級域名的設置會映射到各個子域名,所以即使另外添加二級域名作 爲cookie-free domains 也無效了。這時只能另外注册一個獨立的頂級域名。

yan

View Comments

  • 因爲頂級域名haohtml.com會向所有被請求的靜態文件二級域名服務器發送cookies
    ===
    这句如何理解呢?感觉描述的不够细致。

    • 把頂級域名看成一個大集合。
      掛在頂級域名下面的話 那就會通通被請求。
      反之 若是在二級域名下的話,則僅有此二級域名會被請求。
      所以才會建議
      1.若網站直接是掛在頂級域名下面,則再另外購買一個頂級域名作靜態cookies.
      2.若網站本身是用二級域名 如 http://www.xxx.com,則在建立一個 abc.xxx.com 做靜態cookie,不需要再花費用。

Share
Published by
yan