圖片:
移動應(yīng)用:
27、減小Cookie體積
HTTP coockie可以用于權(quán)限驗(yàn)證和個性化身份等多種用途。coockie內(nèi)的有關(guān)信息是通過HTTP文件頭來在web服務(wù)器和瀏覽器之間進(jìn)行交流的。因此保持coockie盡可能的小以減少用戶的響應(yīng)時間十分重要。
有關(guān)更多信息可以查看Tenni Theurer和Patty Chi的文章“When the Cookie Crumbles”。這們研究中主要包括:
28、對于頁面內(nèi)容使用無coockie域名
當(dāng)瀏覽器在請求中同時請求一張靜態(tài)的圖片和發(fā)送coockie時,服務(wù)器對于這些coockie不會做任何地使用。因此他們只是因?yàn)槟承┴?fù)面因素而創(chuàng)建的網(wǎng)絡(luò)傳輸。所有你應(yīng)該確定對于靜態(tài)內(nèi)容的請求是無coockie的請求。創(chuàng)建一個子域名并用他來存放所有靜態(tài)內(nèi)容。
如果你的域名是www.example.org,你可以在static.example.org上存在靜態(tài)內(nèi)容。但是,如果你不是在www.example.org上而是在頂級域名example.org設(shè)置了coockie,那么所有對于static.example.org的請求都包含coockie。在這種情況下,你可以再重新購買一個新的域名來存在靜態(tài)內(nèi)容,并且要保持這個域名是無coockie的。Yahoo!使用的是ymig.com,YouTube使用的是ytimg.com,Amazon使用的是images-anazon.com等等。
使用無coockie域名存在靜態(tài)內(nèi)容的另外一個好處就是一些代理(服務(wù)器)可能會拒絕對coockie的內(nèi)容請求進(jìn)行緩存。一個相關(guān)的建議就是,如果你想確定應(yīng)該使用example.org還是www.example.org作為你的一主頁,你要考慮到coockie帶來的影響。忽略掉www會使你除了把coockie設(shè)置到*.example.org(*是泛域名解析,代表了所有子域名譯者dudo注)外沒有其它選擇,因此出于性能方面的考慮最好是使用帶有www的子域名并且在它上面設(shè)置coockie。
29、優(yōu)化圖像
設(shè)計(jì)人員完成對頁面的設(shè)計(jì)之后,不要急于將它們上傳到web服務(wù)器,這里還需要做幾件事:
31、不要在HTML中縮放圖像
不要為了在HTML中設(shè)置長寬而使用比實(shí)際需要大的圖片。如果你需要:
<img width="100" height="100" src="mycat.jpg" alt="My Cat" />
那么你的圖片(mycat.jpg)就應(yīng)該是100x100像素而不是把一個500x500像素的圖片縮小使用。
32、favicon.ico要小而且可緩存
favicon.ico是位于服務(wù)器根目錄下的一個圖片文件。它是必定存在的,因?yàn)榧词鼓悴魂P(guān)心它是否有用,瀏覽器也會對它發(fā)出請求,因此最好不要返回一個404 NotFound的響應(yīng)。由于是在同一臺服務(wù)器上,它每被請求一次coockie就會被發(fā)送一次。這個圖片文件還會影響下載順序,例如在IE中當(dāng)你在onload中請求額外的文件時,favicon會在這些額外內(nèi)容被加載前下載。
因此,為了減少favicon.ico帶來的弊端,要做到:
Imagemagick可以幫你創(chuàng)建小巧的favicon。
33、保持單個內(nèi)容小于25K
這條限制主要是因?yàn)閕Phone不能緩存大于25K的文件。注意這里指的是解壓縮后的大小。由于單純gizp壓縮可能達(dá)不要求,因此精簡文件就顯得十分重要。
查看更多信息,請參閱Wayne Shea和Tenni Theurer的文件“Performance Research, Part 5: iPhone Cacheability - Making it Stick”。
34、打包組件成復(fù)合文本
把頁面內(nèi)容打包成復(fù)合文本就如同帶有多附件的Email,它能夠使你在一個HTTP請求中取得多個組件(切記:HTTP請求是很奢侈的)。當(dāng)你使用這條規(guī)則時,首先要確定用戶代理是否支持(iPhone就不支持)。
聯(lián)系客服