UIWebView3 離線快取

2021-09-01 14:43:58 字數 1090 閱讀 2090

nsurlcache

nsurlprotocol

nsurlrequestcachepolicy  指定快取邏輯。url載入系統提供了乙個磁碟和記憶體混合的快取,來相應網路請求。這個快取允許乙個應用減少對網路連線的依賴,並且增加效能。

nsurlrequestuseprotocolcachepolicy = 0, 預設快取策略。具體工作:如果乙個nscachedurlresponse對於請求並不存在,資料將會從源端獲取。如果請求擁有乙個快取的響應,那麼url載入系統會檢查這個響應來決定,如果它指定內容必須重新生效的話。假如內容必須重新生效,將建立乙個連向源端的連線來檢視內容是否發生變化。假如內容沒有變化,那麼響應就從本地快取返回資料。如果內容變化了,那麼資料將從源端獲取

nsurlrequestreloadignoringlocalcachedata = 1, url應該載入源端資料,不使用本地快取資料     

nsurlrequestreloadignoringlocalandremotecachedata =4, 本地快取資料、**和其他中介都要忽視他們的快取,直接載入源資料

nsurlrequestreloadignoringcachedata = nsurlrequestreloadignoringlocalcachedata, 兩個的設定相同

nsurlrequestreturncachedataelseload = 2,   指定已存的快取資料應該用來響應請求,不管它的生命時長和過期時間。如果在快取中沒有已存資料來響應請求的話,資料從源端載入。

nsurlrequestreturncachedatadontload = 3, 指定已存的快取資料用來滿足請求,不管生命時長和過期時間。如果在快取中沒有已存資料來響應url載入請求的話,不去嘗試從源段載入資料,此時認為載入請求失敗。這個常量指定了乙個類似於離線模式的行為

nsurlrequestreloadrevalidatingcachedata = 5 指定如果已存的快取資料被提供它的源段確認為有效則允許使用快取資料響應請求,否則從源段載入資料。

只有響應http和https的請求會被快取。ftp和檔案協議當被快取策略允許的時候嘗試接入源段。自定義的nsurlprotocol類能夠保護快取,如果它們被選擇使用的話。

iOS開發UIWebView快取

最近做了uiwebview的快取,用了兩種方式去實現 第一種使用的是重寫uiwebview的urlcache方法,在urlcache方法中請求網頁資料,儲存網頁資料至本地磁碟。使用rncachingurlprotocol協議 優點 不會像第一種方式會在每次使用快取的時候產生兩個相同的請求,缺點 會快...

iOS UI篇 UIWebView快取清除

使用ios的webview會自動進行快取,我們在開發的時候要記得清除cookie和快取。在webview的關閉按鈕中新增兩個方法 webview退出方法 void closebtnaction uibutton button 清除快取和cookie void cleancacheandcookie ...

離線快取manifest

1 在html檔案中的html標籤中加入如下屬性 2 demo.manifest檔案包含內容如下 cache manifest v1.0.0 需要快取的檔案 cache a.js b.css 不需要快取的檔案 network 無法訪問頁面 fallback 404.html 3 manifest檔案...