2014-02-09 72 views
13

NSURLCache是​​否透明地處理由服務器接收的ETags?我的意思是:它是否會自動爲每個URL請求存儲ETags,然後在提交相同URL的請求時發送相應的IF-None-Match? 還是我必須自己管理它?NSURLCache和ETags

回答

15

是它透明地處理它,如果你設置它的緩存模式:

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:urlString] 
                  cachePolicy: NSURLRequestUseProtocolCachePolicy 
                 timeoutInterval:60]; 

記:你看不到在請求標頭中的所有,如果一個304響應由服務器返回你只會看到它從緩存中透明地加載的200響應。

+2

它不起作用。我嗅探了請求,並且沒有發送「If-None-Match」頭。 – Sirio

+0

我的源代碼:https://github.com/AFNetworking/AFNetworking/pull/928 –

+2

確定它的工作原理,這是我的錯。甚至更好的使用NSURLRequestUseProtocolCachePolicy。 – Sirio