1> NSURLRequestUseProtocolCachePolicy = 0, 默認(rèn)的緩存策略, 如果緩存不存在催训,直接從服務(wù)端獲取。如果緩存存在,會(huì)根據(jù)response中的Cache-Control字段判斷下一步操作泉孩,如: Cache-Control字段為must-revalidata, 則詢問服務(wù)端該數(shù)據(jù)是否有更新,無更新的話直接返回給用戶緩存數(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字段), 無則請(qǐng)求服務(wù)端.
6> NSURLRequestReturnCacheDataDontLoad = 3, 死活加載本地緩存. 沒有就失敗. (確定當(dāng)前無網(wǎng)絡(luò)時(shí)使用)
7> NSURLRequestReloadRevalidatingCacheData = 5, 緩存數(shù)據(jù)必須得得到服務(wù)端確認(rèn)有效才使用(貌似是NSURLRequestUseProtocolCachePolicy中的一種情況)