如何提公升Web應用程式效能 JS快取

2021-08-26 07:18:31 字數 1134 閱讀 5904

如何提公升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...