原文:Best Practices for Speeding Up Your Web Site
31 不要在HTML中縮放圖檔 Don't Scale Images in HTML
tag:images
不要使用大小超過需要的圖檔,即使你能夠在HTML中設定它的屬性。如果你需要
<img width="100" height="100" src="mycat.jpg" alt="My Cat" />
那麼就使用恰好100*100px的圖檔,而不是使用縮放後的500*500的圖檔。
32 使用小的可緩存的Favicon.ico Make favicon.ico Small and Cacheable
tag:favicon.ico
favicon.icon是放在伺服器根目錄的一個圖檔,它是個麻煩卻不得不處理,因為即使你不關心,浏覽器依然會請求這張圖檔,是以最好不要提供一個404的錯誤。而且由于它是在同一伺服器下的,Cookie也會随着每次請求一并發送。這張圖檔同樣幹擾下載下傳隊列,比如在IE中,當你在onload事件中請求額外的元件時,favicon會在這些額外元件之前下載下傳。
是以為了減少favicon.ico的不利影響,我們應當:
- 使用小圖檔,小于1k為佳。
- 設定你認為合适的過期時間(因為你如果更新了圖檔,你并不能修改它的名字)。你可以設定過期為未來的幾個月。你可以借鑒下你目前的favicon.ico的最後更新時間來作為設定依據。
Imagemagick 能夠幫助你建立小圖檔。
33 保證元件大小小于25K Keep Components under 25K
tag:mobile
這一限制是因為iPhone不會緩存大于25K的元件,注意這裡指的是未壓縮前的大小。這就是為什麼縮小大小很重要,因為單單gzip并不足夠。
檢視Wayne Shea和Tenni Theurer的"Performance Research, Part 5: iPhone Cacheability - Making it Stick"擷取更多資訊。
34 把元件打包進多部分文檔中 Pack Components into a Multipart Document
tag:mobile
把元件打包進多部分文檔類似一封包含有附件的郵件,它能讓你通過一個HTTP請求擷取多個元件(記住HTTP請求是很昂貴的)。當你使用這一技術,請先檢查用戶端是否支援它(iPhone不支援)。