如何提公升web應用程式效能,是我們經常要面對的乙個問題,
其中伺服器端方面的改善,這裡先不道來。
對於客戶端效能改善,
核心就是,減少請求數,
怎麼樣減少請求數,
1,js檔案盡量少,
2,image盡量少,
3.css等其他資源請求盡可能少。
但是,對於已有的web應用程式來說,我們無法做到減少,
但是我們能合併js檔案和css檔案,以達到個數減少的目的,
同時,我們可以開啟客戶端快取,
按道理預設來說,js,image,css等,這些會自動在伺服器被快取,
伺服器端的快取方式:
①客戶端傳送請求給伺服器,詢問是否快取未過期
②如果已過期,伺服器傳送這個資源給客戶端
如果未過期,伺服器傳送乙個304的狀態碼,標誌快取有效,客戶端從本地load
客戶端快取的方式:
客戶端將首先判斷客戶端本地快取是否有效,如果有效,將直接從地load
從而不必傳送請求給伺服器確認。
從以上快取的工作方式來看,
伺服器端快取並不能減少請求數,只是說能減少傳輸量。
所以,客戶端快取,在實際應用中,還是很有效的。
但是,客戶端快取帶來的乙個問題是,當我應用程式更新了某個檔案,需要重新發布時,
那麼因為快取的存在,被更新的js或者css檔案將無法被重新load,而失效。
解決的方法很簡單,
我們修改該資源的url即可,如改檔名。
修改後 v1.1版本:新增加了乙個foo.js 同時,也改動了common.js , 在common.js 中定義了新的類,並在foo.js 中使用了common.js.
在這種情況下如果以前使用者瀏覽過 1.0版本的 html 檔案,那麼他的瀏覽器自動快取了 common.js
當他瀏覽新版本的時候,因為使用的是 v1.1的 foo.js 和 v1.0的 common.js ,這樣將導致指令碼出錯。
解決方法**:
因為css,js 是通過
其中 ver=113 的 113就是版本號,一般都是採用 cvs 或其他工具生成的開發版本號。
這樣真正做到了應該快取的時候快取靜態檔案,當版本有更新的時候從獲取最新的版本,並更新快取。
對於影象
C 應用程式效能優化
本文選自c 應用程式效能優化 第2版 一書 總 序 去國離家十六載後,2006年,當我再次歸來凝視上海這座不夜城時,不由地感慨世界真的變小了 變平了,中國作為地球村的一員,正以驚人的速度發展變化著。世界正改變著中國,中國也不斷影響著世界。在備感欣喜振奮之餘,我亦常常思索,在乙個越來越小 越來越平的世...
C 應用程式效能優化
本文選自一書 總 序 去國離家十六載後,2006年,當我再次歸來凝視上海這座不夜城時,不由地感慨世界真的變小了 變平了,中國作為地球村的一員,正以驚人的速度發展變化著。世界正改變著中國,中國也不斷影響著世界。在備感欣喜振奮之餘,我亦常常思索,在乙個越來越小 越來越平的世界裡,中國會面對怎樣的挑戰和機...
WPF 應用程式效能優化
開發效率 能使用xaml實現的就不使用者cs後台程式編寫 資料繫結 資料繫結使用的是屬性,不是字段 public observablecollectionlist new observablecollection dispatcher.invoke dispatcherpriority.backgr...