NSURLRequestCachePolicy 緩存策略緩存
1> NSURLRequestUseProtocolCachePolicy = 0, 默認的緩存策略, 若是緩存不存在,直接從服務端獲取。若是緩存存在,會根據response中的Cache-Control字段判斷下一步操做,如: Cache-Control字段爲must-revalidata, 則詢問服務端該數據是否有更新,無更新的話直接返回給用戶緩存數據,若已更新,則請求服務端.服務器
2> NSURLRequestReloadIgnoringLocalCacheData = 1, 忽略本地緩存數據,直接請求服務端.網絡
3> NSURLRequestIgnoringLocalAndRemoteCacheData = 4, 忽略本地緩存,代理服務器以及其餘中介,直接請求源服務端.spa
4> NSURLRequestReloadIgnoringCacheData = NSURLRequestReloadIgnoringLocalCacheData代理
5> NSURLRequestReturnCacheDataElseLoad = 2, 有緩存就使用,無論其有效性(即忽略Cache-Control字段), 無則請求服務端.orm
6> NSURLRequestReturnCacheDataDontLoad = 3, 死活加載本地緩存. 沒有就失敗. (肯定當前無網絡時使用)ip
7> NSURLRequestReloadRevalidatingCacheData = 5, 緩存數據必須得獲得服務端確認有效才使用(貌似是NSURLRequestUseProtocolCachePolicy中的一種狀況)get
Tips: URL Loading System默認只支持以下5中協議: 其中只有http://和https://纔有緩存策略.it
(1) http://ftp
(2) https://
(3) ftp://
(4) file://
(5) data://