網(wǎng)站訪問速度的前端優(yōu)化2011-02-03 1. 把你的 .js 庫(kù)文件地址替換成 Google CDN的地址 隨著 jquery 和 mootools 等js庫(kù)的使用需要加載的.js文件越來越多也越來越大,通常傳統(tǒng)的網(wǎng)站是上傳到網(wǎng)站本身的目錄。但對(duì)于一個(gè)接近70多KB的jquery.js體積確實(shí)不利于網(wǎng)站響應(yīng)速度的提升,此時(shí)就應(yīng)該使用Google API。 把你的 http://www.cnblogs.com/jquery.x.x.js 替換為 http://ajax./ajax/libs/jquery/1.4.4/jquery.min.js的意義在于當(dāng)一個(gè)用戶訪問過使用 google api 的網(wǎng)站之后,再次訪問其他調(diào)用了該api地址的網(wǎng)站就不需要再次加載該文件了。從而達(dá)到提速的目的。 不單是jquery庫(kù),其他諸如mootools yui 也可以使用這種方式。推薦一個(gè)網(wǎng)站 ( http:/// ) 這個(gè)網(wǎng)站收集Google 提供的 js API路徑。直接點(diǎn)擊復(fù)制就可以獲取到最新版的文件路徑。 2. 精簡(jiǎn)和優(yōu)化你的 js 和 CSS 雖然有了緩存和gzip保駕護(hù)航,但是對(duì)于 js 和 css 的優(yōu)化卻也是必須的。我們寫的javascript腳本和 css 代碼都是經(jīng)過縮進(jìn)和換行的,適合人類閱讀,但是瀏覽器執(zhí)行這些腳本不并需要這些無意義的空格和換行。所以我們應(yīng)該去除這一些空格換行,甚至縮短 javascript 和 css 里面的變量。諸如此類的優(yōu)化工具有 YUI Compressor 和 Closure Compiler 。這兩個(gè)工具都是基于 java 的,使用應(yīng)該安裝jdk并且設(shè)置 JAVA_HOME 。(對(duì)于非程序員的網(wǎng)站管理員而言確實(shí)有點(diǎn)困難) 推薦一個(gè)地址 ( http://sweet./?hl=zh-CN ) 。此工具可以不用在本地安裝jdk,直接上傳 js 和 css 文件進(jìn)行壓縮,可選擇是采用 YUI Compressor 或 Closure Compiler 。 通過 YUI Compressor 或 Closure Compiler 和 壓縮的之后的代碼如:
它會(huì)變成:
把你的縮進(jìn)和空行去掉的同時(shí)也縮短里面的變量名稱,這種優(yōu)化方式是不可逆的,所以使用這兩種壓縮之前請(qǐng)備份一份源文件方便以后的修改。 3. GZIP 壓縮你的 JS 和 CSS 文件 壓縮js和css可以通過服務(wù)器動(dòng)態(tài)腳本進(jìn)行也可以更簡(jiǎn)單的使用apache服務(wù)器可以在網(wǎng)站根目錄 .htaccess 中加入以下代碼:
這段代碼的意思是調(diào)用服務(wù)器的壓縮模塊對(duì)以上文件輸出之前進(jìn)行GZIP壓縮,gzip的壓縮之后所有文件都應(yīng)該能減少30%以上的體積。特別是對(duì)于大量使用js的博客有了gzip保駕護(hù)航之后速度能提高不少。 4. 緩存你的 js 和 CSS 文件 在網(wǎng)站根目錄 .htaccess 中加入以下代碼:
這段代碼的意思是對(duì) jpg|gif|png|css|js 發(fā)送 header 緩存頭,進(jìn)行一年的緩存、在瀏覽器不使用 ctrl+F5 強(qiáng)制刷新時(shí),會(huì)一直緩存到時(shí)間時(shí)間結(jié)束,唯一遺憾的是如果你更改了js或者css文件必須把以前的路徑或者文件名更改,可以這樣 base.js?ver=(x) 這種方式下次瀏覽器就會(huì)自動(dòng)讀取并緩存。 5. 使用css sprites合并圖片 一個(gè)網(wǎng)站經(jīng)常使用小圖標(biāo)和小圖片進(jìn)行美化,但是很遺憾這些小圖片占用了大量的HTTP請(qǐng)求,因此可以采用sprites的方式把所有的圖片合并成一張圖片 ,http:/// 可以通過這個(gè)網(wǎng)址在線合并,也可以在ps中合并。 6. 優(yōu)化你網(wǎng)站圖片(圖片) 大量使用的圖片和圖標(biāo)雖然可以給網(wǎng)站帶來美輪美奐的效果,圖文混編更是一種非常絢麗的博文展現(xiàn)方法??蓤D片的體積確實(shí)不是很給力,jpg是一種有損壓縮格式,而png雖然是無損的缺憾是體積頗大。為了減少圖片體積達(dá)到最快的下載速度,每一張圖片上傳前應(yīng)該優(yōu)化一下體積.專注于前端的 yslow 有一個(gè)工具叫 smushit ,http://www./ysmush.it/ 此工具是一個(gè)無損壓縮圖片的工具,可以把你的圖片在保持原質(zhì)量不變的前提下優(yōu)化體積。而這種優(yōu)化體積通常在 10% 以上.意味著 一張30KB的圖片優(yōu)化后只有 27KB 或者更少…… 總結(jié)以上6種優(yōu)化方法都是前端的,前端優(yōu)化的意義在于減少http請(qǐng)求,減少網(wǎng)站前端程序組成的體積。其實(shí)在后端優(yōu)化也必不可少減少更多的數(shù)據(jù)庫(kù)查詢,通過諸如memcache內(nèi)存緩存進(jìn)行常調(diào)用用的數(shù)據(jù)緩存才能獲得最快的速度。 |
|