1> NSURLRequestUseProtocolC
achePolicy = 0, 默认的缓存策略, 如果缓存不存在,直接从服务端获取。如果缓存存在,会根据response中的Cache-Control字段判断下一步操作,如: Cache-Control字段为must-revalidata, 则询问服务端该数据是否有更新,无更新的话直接返回给用户缓存数据,若已更新,则请求服务端.
2> NSURLRequestReloadIgnori
ngLocalCacheData = 1, 忽略本地缓存数据,直接请求服务端.
3> NSURLRequestIgnoringLoca
lAndRemoteCacheData = 4, 忽略本地缓存,代理服务器以及其他中介,直接请求源服务端.
4> NSURLRequestReloadIgnori
ngCacheData = NSURLRequestReloadIgnori
ngLocalCacheData
5> NSURLRequestReturnCacheD
ataElseLoad = 2,
有缓存就使用,不管其有效性(
即忽略Cache-Control
字段),
无则请求服务端.
6> NSURLRequestReturnCacheD
ataDontLoad = 3,
死活加载本地缓存.
没有就失败. (
确定当前无网络时使用)
7> NSURLRequestReloadRevali datingCacheData = 5, 缓存数据必须得得到服务端确认有效才使用(貌似是NSURLRequestUseProtocolC
achePolicy中的一种情况)
Tips: URL Loading System默认只支持如下5中协议: 其中只有
http://和https://才有缓存策略.
(1) http://
(2) https://
(3) ftp://
(4) file://
(5) data://