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