|
最近在做網(wǎng)站的優(yōu)化,其中一項包括:對靜態(tài)文件(如圖片,JS腳本文件及CSS文件)啟用一個新的獨立域名,以杜絕不必要的Cookie傳送,提高請求速度并減少帶寬。
我們知道,當向HTTP服務(wù)器請求某個URL時,瀏覽器將該URL與客戶主機中存儲的所有Cookie比較,如果發(fā)現(xiàn)域名相匹配Cookie,則匹配 Cookie中包含名字/值的那一行將被包含在HTTP請求頭中,以保證依賴于Cookie的功能得以實現(xiàn)。
但是,當請求一個靜態(tài)圖片時,傳輸Cookie就沒有任何意義了。
![請?zhí)砑用枋?src="/Files/BeyondPic/2009-10/13/1255321693185.gif"]()
另外,Cookie的存取是不允許跨域的,這個很好理解,因為有時Cookie文件里會存儲一些比較敏感或重要的信息,如果允許跨域讀取,那么隨便一個網(wǎng)站都可以取得目標網(wǎng)站的Cookie,這是非常危險的。利用這一點,我們可以將靜態(tài)文件放在新的獨立域名下,由于新域名下只放靜態(tài)文件(最主要是圖片和CSS,對于JS文件,如果涉及讀寫Cookie,那么還是要謹慎處理),并不會產(chǎn)生Cookie,所以請求靜態(tài)文件時,是不會攜帶Cookie的,這樣就提高了傳輸效率,減少了一定帶寬。
Yslow中倡導的減少連接數(shù),也是部分處于減少Cookie傳輸?shù)哪康,當然,啟用了新域名,會增加域名解析的時間,需要權(quán)衡。
那么,這么做的效果如何呢?我們做如下假設(shè):
網(wǎng)站日均用戶100萬,訪問首頁:30萬
首頁Cookie大。0.05k
CSS文件數(shù):2
JS文件數(shù):10
未緩存圖片數(shù):50
那么無效Cookie =300000*0.05*2*10*50=15000000k=1.5G
。ㄒ陨洗致怨浪,如有不準確的地方歡迎指出)
網(wǎng)站流量越大,圖片越多,這個數(shù)值也就越大,優(yōu)化效果也會越明顯,所以上了量級的網(wǎng)站,都會作此優(yōu)化。 |
【收藏】【打印】【進入論壇】 |
|
|
|
|
|
|
|