本文參考:charles 禁用緩存
No caching Settings/無緩存工具的用法
彈窗面板上一句話概括了他的工作原理:通過修改請求和響應頭來防止緩存;
無緩存工具
無緩存工具阻止客戶端應用程序(如Web瀏覽器)緩存任何資源。因此,請求總是發送到遠程站點,並且您始終看到最新版本。
適用范圍
該工具可以作用於每個請求(選中 Enable No Caching 即可),也可以僅對你配置的HOST啟用(啟用的nocaching同時,請選中 only for selected locations);
當用於”only for selected locations”時,可以將no caching的效果限制在你所配置的主機上;
當然location配置也非常靈活;
我比較喜歡用全部禁止,選中 Enable No Caching,並且下面的only選項不要選,就可以了;
不過這樣做也有一個不好的地方,就是你訪問的時候,同樣的資源,在視圖中,每調用一次,就會出現一次;
關於WEB緩存
WWW是互聯網上最受歡迎的應用之一,其快速增長造成網絡擁塞和服務器超載,導致客戶訪問延遲增大,WWW服務質量日益顯現出來。緩存技術被認為是減輕服務器負載、降低網絡擁塞、增強WWW可擴展性的有效途徑之一,其基本思想是利用客戶訪問的時間局部性(Temproral Locality)原理,將客戶訪問過的內容在Cache中存放一個副本,當該內容下次被訪問時,不必連接到駐留網站,而是由Cache中保留的副本提供。
** Web內容可以緩存在客戶端、代理服務器以及服務器端**。
研究表明,緩存技術可以顯著地提高WWW性能,它可以帶來以下好處:
- (1)減少網絡流量,從而減輕擁塞。
- (2)降低客戶訪問延遲,其主要原因有:①緩存在代理服務器中的內容,客戶可以直接從代理獲取而不是從遠程服務器獲取,從而減小了傳輸延遲②沒有被緩存的內容由於網絡擁塞及服務器負載的減輕而可以較快地被客戶獲取。
- (3)由於客戶的部分請求內容可以從代理處獲取,從而減輕了遠程服務器負載。
- (4)如果由於遠程服務器故障或者網絡故障造成遠程服務器無法響應客戶的請求,客戶可以從代理中獲取緩存的內容副本,使得WWW服務的魯棒性得到了加強。
Web緩存系統也會帶來以下問題:
- (1)客戶通過代理獲取的可能是過時的內容。
- (2)如果發生緩存失效,客戶的訪問延遲由於額外的代理處理開銷而增加。因此在設計Web緩存系統時,應力求做到Cache命中率最大化和失效代價最小化。
- (3)代理可能成為瓶頸。因此應為一個代理設定一個服務客戶數量上限及一個服務效率下限,使得一個代理系統的效率至少同客戶直接和遠程服務器相連的效率一樣。
http://baike.baidu.com/item/緩存
** No caching的運行原理**
無緩存工具通過操縱控制緩存響應的HTTP頭來防止緩存;
從請求中刪除If-Modified-Since和If-None-Match頭,添加Pragma:no-cache和Cache-control:no-cache。
從響應中刪除Expires,Last-Modified和ETag標頭,添加Expires:0和Cache-Control: no-cache。
因為客戶端的所有請求和服務端響應都經過charles進行處理,所以charles可以很容易的做到這些;
關於原理和其它的,請查看 charles教程
本文參考:https://www.axihe.com/