自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

巧用HttpCombiner讓你的網(wǎng)站加速

開(kāi)發(fā)
本文是在優(yōu)化實(shí)際項(xiàng)目中的總結(jié).HttpCombiner.ashx是一個(gè)http處理程序,通過(guò)它能夠合并多個(gè)CSS,Javascript或者url成為一個(gè)響應(yīng)讓頁(yè)面載入加速.同時(shí)它可以合并,壓縮并緩存響應(yīng),這樣就使得我們的應(yīng)用程序更快的加載和具備更好的擴(kuò)展性。

     經(jīng)過(guò)利用Microsoft Ajax Minifier在服務(wù)器端對(duì)靜態(tài)資源進(jìn)行自動(dòng)化壓縮,我們的資源文件(沒(méi)指明則特指js,css靜態(tài)資源文件)已經(jīng)減肥成功,保持了苗條的身材,這樣從服務(wù)器端傳輸?shù)娇蛻?hù)端也沒(méi)那么費(fèi)勁了,初步獲得小成功,但是根據(jù)<<雅虎網(wǎng)站頁(yè)面性能優(yōu)化的34條黃金守則>>http://developer.yahoo.com/performance/rules.html提供給我們的建議,讓優(yōu)化工作做得更進(jìn)一步,比如一個(gè)頁(yè)面引入了4個(gè)css文件,5個(gè)js文件(這個(gè)數(shù)目還算過(guò)得去,也許還會(huì)更多),這樣頁(yè)面載入的時(shí)候就會(huì)產(chǎn)生9個(gè)請(qǐng)求,加之js加載又是阻塞加載的方式,這樣也會(huì)造成一定程度上的性能損傷。尋思了一會(huì)在網(wǎng)上找到這么一個(gè)文件HttpCombiner.ashx,接下來(lái)介紹它能幫我們做的事情。

   HttpCombiner.ashx是一個(gè)http處理程序,通過(guò)它能夠合并多個(gè)CSS,Javascript或者url成為一個(gè)響應(yīng)讓頁(yè)面載入加速.同時(shí)它可以合并,壓縮并緩存響應(yīng),這樣就使得我們的應(yīng)用程序更快的加載和具備更好的擴(kuò)展性。

   用一個(gè)大的Javascript或者CSS文件替代多個(gè)小體積的Javascript和CSS文件這是一個(gè)很好的實(shí)踐,可以獲得更好的可維護(hù)性,但是在網(wǎng)站性能方面會(huì)產(chǎn)生一定的影響(這里指的是隨著文件體積的增大,隨之消耗服務(wù)器的內(nèi)存也會(huì)增加)。盡管你應(yīng)該把Javascript代碼單獨(dú)寫(xiě)成小支的文件,CSS文件拆分成小塊,但是當(dāng)瀏覽器請(qǐng)求這些文件時(shí),會(huì)產(chǎn)生同等數(shù)量的http請(qǐng)求。每個(gè)http請(qǐng)求都會(huì)產(chǎn)生一次從你的瀏覽器到服務(wù)器端網(wǎng)絡(luò)往返過(guò)程,并且導(dǎo)致推遲到達(dá)服務(wù)器端和返回瀏覽器端的時(shí)間,我們稱(chēng)之為延遲。因此,如果你有4個(gè)Javascript和3個(gè)css文件在頁(yè)面中被加載,你浪費(fèi)掉了7次因網(wǎng)絡(luò)往返過(guò)程產(chǎn)生的時(shí)間。在美國(guó),延遲平均是70毫秒,這樣你就浪費(fèi)了7*70 = 490毫秒,大致延遲了半秒的時(shí)間。在美國(guó)之外的國(guó)家訪問(wèn)你的頁(yè)面,平均延遲大約是200毫秒,這意味著你的頁(yè)面有1400毫秒的時(shí)間是在等待中度過(guò)。瀏覽器在你的CSS和Javascript文件完全加載完成之前是不能很好的渲染你的頁(yè)面的。因此越多的延遲讓你的頁(yè)面載入越慢。

 

   延遲導(dǎo)致多大的影響

   下圖顯示每個(gè)請(qǐng)求的延遲造成頁(yè)面加載時(shí)顯著的延誤

HttpHandler

   你可以通過(guò)使用CDN加速來(lái)減少等待時(shí)間.閱讀我前一篇文章關(guān)于使用CDN. 然而,一個(gè)更好的解決方案是使用一個(gè)HttpHandler來(lái)合并多個(gè)文件成一個(gè)文件一次性輸出.因此,你只要將多個(gè)