http://www.wangchao123.com/2009/07/25/361
php
google 和 face booke 的圖標合成圖html
瀏覽一些大型專業網站,發現不少的 UI 穩定後都會用少數幾張合成圖來存放 UI 圖片,在前臺顯示時用 css 和 js 位移來表現。這樣作有幾個好處:數據庫
1. 減小發送請求的次數,減小 post 到服務器的數據量。跨域
2. 遇到鼠標通過須要變換圖片的時候,不會有延遲形成體驗上的缺陷。瀏覽器
另外一個可以大量減訪問時發送求情的數據量的方法就是跨域名訪問圖片。服務器
不少網站的主站,和圖片站主域名和靜態文件服務器是不同的:cookie
校內 xiaonei.com xnimg.cn
新浪 sina.com sinaimg.cn
雅虎 yahoo.com yimg.com
…app
若是是同域名訪問靜態文件經過httpwatch 跟蹤請求是這樣的:負載均衡
其中幾乎一半甚至更多的字節數都被 cookie 這項佔用了,可是向服務器發送 http 請求時,若是是靜態文件則不用發送這條請求,所以,若是頁面上有30張圖片,其中就有一半的請求字節數是廢的。並且請求是上傳操做,比下載操做要稍慢一些,但若是跨域名訪問圖片,則不會帶 cookie 這條去請求,由於cookie 是根據域名匹配的。在帶寬昂貴,訪問次數較高的大型網站,節省這部分帶寬是很是有必要的。給用戶的體驗也會快不少。所以若是有條件,仍是爲靜態文件單申請一個域名吧~
http://www.chinaz.com/Webbiz/Exp/0420111b32010.html
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的頂級域名farlee.info,使用新建立的二級域名做爲 cookie-free domains的方法是無效的。由於頂級域名farlee.info會向全部被請求的靜態文件二級域名服務器發送cookies。
即www.farlee.info 和 abcimg.farlee.info是互相獨立的兩個「二級域名」,不會形成域名污染, abcimg.farlee.info 能夠做爲cookie-free 域名;可是須要作一些設置,好比下面介紹的Wordpress 博客設置wp-config.php文件的實例。
頂級域名farlee.info 會向全部被請求的二級域名(子域名:www.farlee.info和abcimg.farlee.info)發送 cookies,abcimg.farlee.info 也會被污染,不能看成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.farlee.info'); ?> |
所謂的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就必須設置爲頂級域名farlee.info了,而頂級域名的設置會映射到各個子域名,因此即便另外添加二級域名做爲cookie-free domains 也無效了。這時只能另外註冊一個獨立的頂級域名。
下面以獨立域名farleeimg.info ,爲例演示Wordpress 博客(farlee.info) cookie-free domains 設置步驟:
1. 圖片用單獨的cookie-free域名儲存
首先進入farlee.info網站空間控制面板新增綁定域名:farleeimg.info。
而後進入Wordpress 管理後臺設置:控制面板--設置--雜項--文件的完整URL地址填寫http://farleeimg.info/,設置以下圖:
在發表文章時上傳圖片,前臺顯示的圖片域名地址就是 cookie-free domains (farleeimg.info)了。
若是是使用圖牀(能夠上傳圖片,而後得到圖片連接地址的網站空間)就更簡單了,將圖片上傳到圖片空間的網站服務器,發表文章的時候將圖片連接地址取過來便可。
2. Wordpress CSS文件、JS文件設置獨立域名儲存
和圖片同樣,把CSS和JS上傳到綁定cookie-free 域名的空間,取連接URL地址。而後在Wordpress 主題文件裏修改CSS和JS的url。
3. Wordpress 表情圖片
方法同上,上傳後修改wp-includes/formatting.php文件。將
$srcurl = apply_filters('smilies_src', "$siteurl/wp-includes/images/smilies/$img", $img, $siteurl); |
將紅色部分改成上傳到cookie-free domains 的網站空間的表情圖片的URL連接地址。
另外YSlow 關於Cookies 的另一個網站速度提高建議,Cookie信息在網站服務器和瀏覽器之間傳送的HTTP headers 中交換,所以要儘可能縮小cookie 大小,單個cookie不要超過4K。
http://www.kmwzjs.com/site/q-view60.html
一、服務器環境的選擇,建議採用Linux服務器,選擇理由:畢竟Linux如今的市場主要是服務器領域,你們的選擇是有必定道理的,其次開源的,若是網站發展到必定的水平,選擇開源與否決定了網站之後的命運。 二、採用NGINX做爲HTTP服務器,是由俄羅斯人開發的,俄羅斯人在計算機軟件方面是很出色的,包括像世界第一殺毒軟件卡巴斯基就是俄羅斯出品。 三、頁面純靜態化,不要使用僞靜態,你們都知道若是是非靜態頁面,都須要服務器端利用必定的CPU資源進行編譯以後才能顯示出來,而靜態頁面則直接顯示,另外千萬不能使用僞靜態,僞靜態實際上只是爲了迎合搜索引擎而產生的一門技術,在使用過程當中,會加大服務器的資源消耗,當訪問量大的時候要慎用。 四、負載均衡技術,通俗點講就是將網頁上的元素分開放置到不一樣的服務器上來分擔單臺服務器的壓力,如:數據庫單獨一臺服務器,靜態頁面一臺服務器,圖片單獨一臺服務器等等,具體應該視狀況而定,流量越大,就越應該分得越細,像國內的門戶網站就是這樣作的,看看他們的圖片就能知道,圖片都是用子域名或者其餘域名引用在其餘圖片服務器的。 五、數據庫優化,不少大型網站應用的時候大部分世界都花在這個上面,當網站數據變大,訪問量上升,數據庫首當其衝成爲第一個須要解決的瓶頸。