NSURLRequestCachePolicy
1> NSURLRequestUseProtocolCachePolicy = 0, 默認(rèn)的緩存策略著蟹, 如果緩存不存在放接,直接從服務(wù)端獲取畦木。如果緩存存在,會(huì)根據(jù)response中的Cache-Control字段判斷下一步操作纠拔,如: Cache-Control字段為must-revalidata, 則詢問(wèn)服務(wù)端該數(shù)據(jù)是否有更新,無(wú)更新的話直接返回給用戶緩存數(shù)據(jù),若已更新垒在,則請(qǐng)求服務(wù)端.
2> NSURLRequestReloadIgnoringLocalCacheData = 1, 忽略本地緩存數(shù)據(jù)闸天,直接請(qǐng)求服務(wù)端.
3> NSURLRequestIgnoringLocalAndRemoteCacheData = 4, 忽略本地緩存暖呕,代理服務(wù)器以及其他中介,直接請(qǐng)求源服務(wù)端.
4> NSURLRequestReloadIgnoringCacheData = NSURLRequestReloadIgnoringLocalCacheData
5> NSURLRequestReturnCacheDataElseLoad = 2, 有緩存就使用号枕,不管其有效性(即忽略Cache-Control字段), 無(wú)則請(qǐng)求服務(wù)端.
6> NSURLRequestReturnCacheDataDontLoad = 3, 死活加載本地緩存. 沒有就失敗. (確定當(dāng)前無(wú)網(wǎng)絡(luò)時(shí)使用)
7> NSURLRequestReloadRevalidatingCacheData = 5, 緩存數(shù)據(jù)必須得得到服務(wù)端確認(rèn)有效才使用(貌似是NSURLRequestUseProtocolCachePolicy中的一種情況)
Tips: URL Loading System默認(rèn)只支持如下5中協(xié)議: 其中只有http://和https://才有緩存策略.
(1) http://
(2) https://
(3) ftp://
(4) file://
(5) data://