首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

是否可以阻止NSURLRequest缓存数据或在请求后删除缓存数据?

当然可以阻止NSURLRequest缓存数据或在请求后删除缓存数据。在iOS开发中,可以使用NSURLSessionConfiguration来配置NSURLSession,从而实现缓存策略的自定义。

具体来说,可以通过设置NSURLSessionConfiguration的requestCachePolicy属性来指定缓存策略。其中,NSURLRequestReloadIgnoringLocalCacheData表示忽略本地缓存数据,每次都从服务器请求数据;而NSURLRequestReturnCacheDataElseLoad表示优先使用本地缓存数据,如果没有缓存数据才从服务器请求数据。

此外,还可以使用NSURLSession的deleteCachedResponseForRequest:方法来删除指定请求的缓存数据。

推荐的腾讯云相关产品和产品介绍链接地址:

  • 腾讯云COS:腾讯云对象存储(Cloud Object Storage,COS)是一种海量、安全、低成本、高可靠的云存储服务,适用于多种应用场景。
  • 腾讯云CLB:腾讯云负载均衡(Cloud Load Balancing,CLB)是一种高性能、可靠的分布式负载均衡服务,可以帮助用户在云环境中实现负载均衡和访问控制。
  • 腾讯云API Gateway:腾讯云API Gateway是一种高性能、安全、可扩展的API管理服务,可以帮助用户轻松构建、发布和管理API。
  • 腾讯云CDN:腾讯云内容分发网络(Content Delivery Network,CDN)是一种高效、稳定、安全的全球内容分发网络服务,可以帮助用户加速全球访问速度。

这些产品都可以与iOS应用程序集成,以实现更好的性能和安全性。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

从AFNetworking源码分析到应用全解 原

其实,这个有名的框架中还提供了许多其他的工具,除了可以方便的进行网络安全验证,请求数据与回执数据的序列化,网络状态茶台等基础应用外,还提供了UIKit工具包,其中提供有常用组件的扩展,图片下载器和缓存器等...4.回执数据序列化AFURLResponseSerialization     AFNetworking进行网络请求有一个十分方便的地方在于它可以直接将返回数据进行解析。...,这里就不做代码解析,流程是每次进行图片缓存时,判断是否超出缓存池最大容量,如果超出,将AFCacheImage对象按照lastAccessDate属性进行排序后进行按顺序删除直到到达期望容量。...,然后进行本地数据的加载,并可以提供一个进度。...:(NSString *)identifier; //根据id来删除图片 - (BOOL)removeImageWithIdentifier:(NSString *)identifier; //删除所有图片缓存

3K51

iOS网络编程之四——请求NSURLRequest使用详解

二、NSURLRequest类中常用方法和属性总结 //通过类方法创建默认的请求对象 /* 通过这种方式创建的请求对象 默认使用NSURLRequestUseProtocolCachePolicy缓存逻辑...= 0,     //无论有无本地缓存数据 都进行从新请求     NSURLRequestReloadIgnoringLocalCacheData = 1,     //忽略本地和远程的缓存数据 未实现的策略...@property (readonly) BOOL allowsCellularAccess; NSURLRequest请求类除了在初始化时可以设定一些属性,创建出来则大部分属性都为只读的,无法设置与修改...        一下属性的设置必须使用NSMutableURLRequest类,如果是NSURLRequest,则只可以读,不可以修改。...cookie数据 @property BOOL HTTPShouldHandleCookies; //设置请求是否按顺序收发 默认禁用 在某些服务器中设为YES可以提高网络性能 @property BOOL

1.2K20

iOS网络编程之六——数据缓存类NSURLCache使用解析

iOS网络编程之六——数据缓存类NSURLCache使用解析 一、引言         在前面博客中,介绍了NSURLRequest请求类的相关使用方法,其中有介绍关于请求返回数据缓存策略,实际上,...path 磁盘缓存路径 内容缓存会在应用程序退出 清空 磁盘缓存不会 */ - (instancetype)initWithMemoryCapacity:(NSUInteger)memoryCapacity... *)cachedResponseForRequest:(NSURLRequest *)request; //给请求设置指定的缓存 - (void)storeCachedResponse:(NSCachedURLResponse... *)cachedResponse forRequest:(NSURLRequest *)request; //移除某个请求缓存 - (void)removeCachedResponseForRequest...:(NSURLRequest *)request; //移除所有缓存数据 - (void)removeAllCachedResponses; //移除某个时间起的缓存设置 - (void)removeCachedResponsesSinceDate

34720

·第三方网络下载处理框架:AFNetworking网络下载处理(调用栈与缓存策略篇)

以此决策下载任务 逻辑: 判断传入的请求中URL是否为空;若为空,则取消下载,imageView显示占位图片,否则,进入下一步判断 判断当前的请求是否有task处于活动状态(意思可能用户单位时间内多次发了同一个请求...,而在这个请求发送时已经有下载的Task执行了,这个请求将结束) 根据请求查看内存缓存是否目前有当前请求的图片,若有则查看success有无回调,有回调则将图片回调回去,否则,直接设置本ImageView...的image 若本地内存缓存没有数据,则先将imageView的image设置为占位图片并生成UUID,然后将请求和UUID发送出去; 若成功,则检查UUID是否和之前生成的UUID相等,以防止数据出错...URL是否为空,失败则则返回信息(感觉这一句有点多余,因为调用这个方法之间已经检查了URL是否为空) 在Task没有执行时,多个请求可能会同时达到该方法,因此,需要一个字典存储该URL对应的AFImageDownloaderMergedTask...4)之后就是从网络下载图片,这也要注意,作者是使用AFN进行异步下载的、会生成UUID和之前一样去检验下载UUID是否发生改变;若成功,则将先缓存图片,然后将AFImageDownloaderMergedTask

1.4K20

AFNetworking源码探究(二十) —— UIKit相关之AFImageDownloader图像下载

该块没有返回值,并且有三个参数: // 客户端发送的请求,从服务器收到的响应以及从请求响应数据创建的图像。 // 如果图像是从缓存中返回的,则响应参数将为nil。...如果图像存储在缓存中,则为nil。 缓存和URL请求缓存策略允许使用缓存。...completed, the success and failure blocks are removed and will not be called when the task finishes. // 通过删除相应的成功和失败块并在必要时取消数据任务来取消收据中的数据任务...如果数据任务在队列中待处理,如果没有其他成功和失败块向数据任务注册, 则它将被取消。 如果数据任务当前正在执行或已经完成,则成功和失败块将被删除, 并且在任务完成时不会被调用。...每个下载的图像都缓存在底层的NSURLCache以及内存中的图像缓存中。 默认情况下,任何具有图像缓存中等效缓存图像的下载请求都将自动提供缓存图像表示。 2.

88620

深入源码理解YYCache 、SDWebImage、AFNetworking、NSCache 缓存方式与对比

cStringUsingEncoding:NSASCIIStringEncoding], DISPATCH_QUEUE_CONCURRENT); //添加通知,监听收到系统的内存警告删除所有缓存对象...,相信大家也可以自己写出添加缓存删除缓存的代码了。...由于每次添加缓存对象的时候都会判断是否超出总数,所以只需要删除一个节点就能保持总数小于等于限制值 */ if (_lru->_totalCount > _countLimit)...YYDiskCache YYCache的磁盘缓存YYDiskCache的实现相比就复杂一些了,作者在经过大量调研和实验发现,SQLite对于数据的写入性能高于直接写文件,但是对于读性能来说需要考虑数据的大小...,还定义了三种缓存对象存储方式,可以只使用文件系统、只使用数据或在两者中都存储,用户可以按需选择,这个存储类型的设置方式是在初始化构造函数中指定的。

2.9K71

​# iOS WKWebView适配(基础篇)

= 4, // 忽略本地缓存数据、代理和其他中介的缓存,直接从后台请求数据 NSURLRequestReturnCacheDataElseLoad = 2, // // 优先从本地拿数据,且忽略请求生命时长和过期时间...= 5, // 从原始地址确认缓存数据的合法性缓存数据可以使用,否则从原始地址加载。...Etag / If-None-Match :返回Etag给到客户端,下次请求时header中将etag的值设置在If-None-Match 服务器做比对客户端比较后,决策是否缓存 [image-20200604163300511...from memory cache/from disk cache) Expires(1.0产物,基本可以忽略) 第一次请求返回一个head,值是一个时间点,下次如果再请求相同资源,判断时间是否过期,如果未过期则命中缓存...,建议本地加载可以采取这种方式,忽略缓存,因为缓存空间是有限的,不要影响真正需要缓存的页面

3.6K30

NSURLSession与NSURLConnection区别

而cancel可以停止请求的发送,停止不能继续访问,需要创建新的请求。...的实例创建 Task 执行 Task 如何获取Session对象 1.获取默认的 Session 对象 /*  * 用于基本的网络请求可以几行代码就获取 URL 的内容,使用简单  * 无法不断的获取服务器返回的数据...specified by the cookie storage. */ @property NSHTTPCookieAcceptPolicy HTTPCookieAcceptPolicy; /* 指定了一组默认的可以设置出站请求数据头...*/ @property (nullable, retain) NSURLCredentialStorage *URLCredentialStorage; /* 缓存NSURLRequest的response...它的大概思路是: 某种限制,续传暂停 将暂停数据(当前数据)保存起来--_resumeData = resumeData; 条件允许续传时,使用resumeData创建新的NSURLSessionTask

1.4K60

AFNetworking源码探究(二十六) —— UIKit相关之AFAutoPurgingImageCache缓存

*)request withAdditionalIdentifier:(nullable NSString *)identifier; @end 根据请求和标识对图像进行是否需要缓存、加入到缓存或者移除缓存等进行操作...达到内存容量时,图像缓存按上次访问日期排序,然后最旧的图像不断清除,直到满足清除的首选内存使用量。 每次通过缓存访问图像时,图像的内部访问日期都会更新。...AFImageRequestCache协议的实现 根据请求和标识符将图像加入到内存 - (void)addImage:(UIImage *)image forRequest:(NSURLRequest...是否将图像缓存到内存 - (BOOL)shouldCacheImage:(UIImage *)image forRequest:(NSURLRequest *)request withAdditionalIdentifier...后记 本篇主要讲述了关于图像缓存方面的内容,包括使用标识符或者请求进行图像相关的缓存操作。

58841

UIWebView 浏览器控件一、初始化与三种加载方式二、常用属性和方法三、代理方法 UIWebViewDelegate四、其它案例:

:(NSURLRequest *)request; 这是加载网页最常用的一种方式,通过一个网页URL来进行加载,这个URL可以是远程的也可以是本地的,例如加载百度的主页 UIWebView * view...@property (nonatomic, readonly, getter=isLoading) BOOL loading; 7.设置是否缩放到适合屏幕大小 UIWebView可以缩放HTML页面来适配其视口大小...; 11.设置音频播放是否支持ari play功能 @property (nonatomic) BOOL mediaPlaybackAllowsAirPlay; 12.设置是否数据加载如内存渲染界面...:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType; 参数: (1)request:即将发送的请求...:@"document.documentElement.style.webkitTouchCallout='none';"]; - -webkit-user-select 控制用户是否可以选择页面元素内容

1.5K60

AFNetworking源码探究(七) —— AFURLSessionManager(3)

,会被反复调用,请求到的数据就在这被拼装完整。...当task接收到所有期望的数据,session会调用此代理方法。 当task接收到所有期望的数据,session会调用此代理方法。...这个代理方法最初的目的是为了阻止缓存特定的URLs或者修改NSCacheURLResponse对象相关的userInfo字典。 该方法只会当request决定缓存response时候调用。...作为准则,responses只会当以下条件都成立的时候返回缓存: 该request是HTTP或HTTPS URL的请求(或者你自定义的网络协议,并且确保该协议支持缓存) 确保request请求是成功的...(返回的status code为200-299) 返回的response是来自服务器端的,而非缓存中本身就有的 提供的NSURLRequest对象的缓存策略要允许进行缓存 服务器返回的response中与缓存相关的

52540

iOS网络编程之二——NSURLSession的简单使用

Ephemeral类型:即时的请求类型,不使用缓存,身份凭证等。         Background:后台类型,支持在后台完成请求任务。         ...2.NSURLSession任务的类型         在NSURLSession中添加的请求任务支持3中类型:         数据任务:使用NSData对象进行数据的发送和获取,一般用于短数据的任务...backgroundSession = [NSURLSession sessionWithConfiguration:backgroundConfiguration]; NSURLSessionConfiguration还可以配置如缓存...,网络模式等参数 三、使用NSURLSession进行网络请求的两种方式         NSURLSession有两种方式进行网络数据请求,一种是通过block的方式获取网络数据,一种是通过代理回调的方式获取网络数据... defaultSessionConfiguration];     //创建请求对象     NSURLRequest * request = [NSURLRequest requestWithURL

94620

iOS预加载Web页面方案

,检验是否有与之对应的 Cache ,有就使用本地数据返回 NSCachedURLResponse ,没有就通过网络获取数据数据缓存。...NSURLCache的实现 没有缓存的 request 会对其进行请求将获取数据按照hash地址存两份于本地,一份是数据,一份记录时间和类型,时间记录可以用于判断失效时间。...对于判断是否缓存可以根据请求地址对应的文件进行判断。...,但是在缓存Data时 NSURLCached 的方案里是通过发起一次新的请求来获取数据,而 NSURLProtocol 在 NSURLConnection 的 Delegate 里可以获取到,少了一次网络的请求...具体完整的代码实现可以看 STMURLProtocol 里的代码实现。 后记 通过 map 网络请求可以缓存请求,也可以 mock 接口请求进行测试。

1.8K10

iOS网络编程之一——iOS网络框架简介 原

三、一些辅助类         1.NSURLRequest         NSURLRequest类负责一个具体的网络请求,其内部封装一个请求路径NSURL对象。...如果需要对请求参数进行配置,可以使用NSMutableURLRequest。         ...2.NSURLResponse         NSURLResponse类封装了相应数据,相应数据包括两部分,一部分是返回数据的状态码,数据长度、编码等信息,另一部分是内容数据本身。         ...4.NSURLCache         在应用程序的开发中,为了减小对网络的依赖,提高程序性能,常常会对一些非实时性的数据进行缓存处理,NSURLCache类用于管理NSURLRequest请求缓存。...5.NSHTTPCookieStorage、NSHTTPCookie         NSHTTPCookieStorage与NSHTTPCookie用于持久化的存储HTTP请求的Cookie数据

1.2K20

H5 和移动端 WebView 缓存机制解析与实战

一个用于控制缓存有效时间,一个在缓存失效,向服务查询是否有更新。 Cache-Control 还有一个同功能的字段:Expires。...如果在白名单还要补充需要缓存的资源,可以使用 CACHE:标识符。 如果要声明某 URI 不能访问时的替补 URI,可以使用 FALLBACK:标识符。...: 不使用缓存,只从网络获取数据, LOAD_CACHE_ELSE_NETWORK,只要本地有,无论是否过期,或者no-cache,都使用缓存中的数据。...NSURLRequest需要一个缓存参数来说明它请求的url何如缓存数据的,我们先看下它的CachePolicy类型。...在xcode下可以管理对应的文件,具体可以搜索阅读此文:《关于 iOS 删除缓存的那些事儿》 四、总结 综上所述,html5缓存主要可以分为http协议缓存、应用缓存、DOM Storage

3.6K40

iOS开发之NSURLProtocol的那些坑

接触过iOS系统中URL Loading System都知道,NSURLProtocol是如此地强大,可以拦截应用内几乎所有的网络请求(除了WKWebView),并可以修改请求头,返回client任意自定义的数据等等...,据说很多做网络缓存都是利用这个类的。...,添加指定头部等操作,可以在该方法中进行 */ + (NSURLRequest *)canonicalRequestForRequest:(NSURLRequest *)request { return...为了解决这个问题,我们可以通过把Body数据放到Header中,不过Header的大小好像是有限制的,我试过2M是没有问题,不过超过10M就直接Request timeout了。。。...而且当Body数据为二进制数据时这招也没辙了,因为Header里都是文本数据,另一种方案就是用一个NSDictionary或NSCache保存没有请求的Body数据,用URL为key,最后方法就是别用NSURLSession

2.4K91
领券