nsurlrequestcachepolicy|NSURLRequest缓存策略学习笔记

更新时间:2020-04-17    来源:js教程    手机版     字体:

【www.bbyears.com--js教程】

#define kGetURL @”http://api.map.baidu.com/place/v2/search?query=银行®ion=上海&output=json&ak=6E823f587c95f0148c19993539b99295″

#define kPostURL @”http://ipad-bjwb.bjd.com.cn/DigitalPublication/publish/Handler/APINewsList.ashx”
#define kPostParam @”date=20131129&startRecord=1&len=30&udid=1234567890&terminalType=Iphone&cid=213″

#define kImageURL @”http://image.zcool.com.cn/56/13/1308200901454.jpg”

NSURLRequest初始化方法
第一个参数:请求访问路径
第二个参数:缓存策略
第三个参数:网络请求超时时间(秒)

其中缓存协议是个枚举类型包含:

NSURLRequestUseProtocolCachePolicy(默认的缓存策略, 如果缓存不存在,直接从服务端获取。如果缓存存在,会根据response中的Cache-Control字段判断下一步操作,如: Cache-Control字段为must-revalidata, 则询问服务端该数据是否有更新,无更新的话直接返回给用户缓存数据,若已更新,则请求服务端)

NSURLRequestReloadIgnoringLocalCacheData(忽略本地缓存)

NSURLRequestReturnCacheDataElseLoad(首先使用缓存,如果没有本地缓存,才从原地址下载)

NSURLRequestReturnCacheDataDontLoad(使用本地缓存,从不下载,如果本地没有缓存,则请求失败,此策略多用于离线操作)

NSURLRequestReloadIgnoringLocalAndRemoteCacheData(无视任何缓存策略,无论是本地的还是远程的,总是从原地址重新下载)

NSURLRequestReloadRevalidatingCacheData(如果本地缓存是有效的则不下载,其他任何情况都从原地址重新下载)

补充:

1.NSURLRequestUseProtocolCachePolicy NSURLRequest                  默认的cache policy,使用Protocol协议定义。
2.NSURLRequestReloadIgnoringCacheData                                        忽略缓存直接从原始地址下载。
3.NSURLRequestReturnCacheDataDontLoad                                     只使用cache数据,如果不存在cache,请求失败;用于没有建立网络连接离线模式
4.NSURLRequestReturnCacheDataElseLoad                                     只有在cache中不存在data时才从原始地址下载。
5.NSURLRequestReloadIgnoringLocalAndRemoteCacheData           忽略本地和远程的缓存数据,直接从原始地址下载,与NSURLRequestReloadIgnoringCacheData类似。
6.NSURLRequestReloadRevalidatingCacheData                              :验证本地数据与远程数据是否相同,如果不同则下载远程数据,否则使用本地数据

 

本文来源:http://www.bbyears.com/wangyezhizuo/92746.html

热门标签

更多>>

本类排行