[iOS] iphone的UIWebView控件的緩存問題(無緩存)


我們想試試,在iphone的safari或者app中的UIWebView控件,訪問網絡資源時,對於圖片是否有緩存。如果有緩存的話,對於同一個圖片,服務器會返回 304 Not Modified,這樣瀏覽器就可以用本地的緩存圖片來替代。

我們首先在mac機上啟動了一個apache服務,然后用tail -f 看 /var/log/apache2/access_log文件。在PC機上,多次訪問這個apache服務上的圖片時,log中會顯示如下信息:
192.168.8.211 - - [06/Sep/2011:19:17:33 +0800] "GET /~tangqiao/test.jpg HTTP/1.1" 304 -
可見,在PC機上,緩存是有效的。

然后在iphone的safari中做同樣的嘗試,我們發現在多次刷新時,服務端的log總是:
192.168.8.76 - - [06/Sep/2011:19:23:54 +0800] "GET /~tangqiao/test.jpg HTTP/1.1" 200 156898

然后我們寫了一個小的app,在里面設置UIWebView loadRequest:
    NSURL *url = [NSURL URLWithString:@"http://192.168.8.211/~tangqiao/test.jpg"];
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    [self.webView loadRequest:request];
然后發現,該app在每次調用loadRequest后,服務端的log也同樣是:
192.168.8.76 - - [06/Sep/2011:19:23:54 +0800] "GET /~tangqiao/test.jpg HTTP/1.1" 200 156898

由此實驗可知,iphone端的圖片緩存是沒有的。每次訪問都需要從服務端重新下載圖片。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM