首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么总是使用ASIDownloadCache缓存的数据?

为什么总是使用ASIDownloadCache缓存的数据?
EN

Stack Overflow用户
提问于 2011-11-05 11:35:35
回答 2查看 420关注 0票数 0

我正在使用ASIDownloadCache缓存下载文件,下面的代码是我如何设置请求和下载缓存的。`request = super :url1;request setTimeOutSeconds:50;

代码语言:javascript
运行
复制
ASIDownloadCache *cache = [[ASIDownloadCache alloc] init] ;
[cache setStoragePath:[path stringByAppendingPathComponent:@"resource"]];
[cache setShouldRespectCacheControlHeaders:NO];

self.myCache = cache;    
[cache release];
[request setDownloadCache:self.myCache];   
//[self setSecondsToCache:60*60*24*30];
[request setCachePolicy:ASIAskServerIfModifiedCachePolicy];
[request setCacheStoragePolicy:ASICachePermanentlyCacheStoragePolicy];

我的问题是,当url的头部被修改后,ASIDownloadCache仍然在使用缓存的数据。为什么?有人知道答案吗?

更改前url的头部如下所示:

HTTP/1.1 200 OK服务器: Apache/2.2缓存控制:公共内容类型:文本/html;字符集=UTF-8日期:星期一,2011年11月08:26:15 GMT过期时间:星期一,2011年11月08:23:35GMT语法:公共传输编码:分块Etag: 1320654215连接:保持活动上次修改时间:星期一,2011年11月07 08:23:35 GMT

修改后的头部如下:

HTTP/1.1 200 OK服务器: Apache/2.2缓存控制:公共内容类型:文本/html;字符集=UTF-8日期:星期一,2011年11月07 08:28:49 GMT到期时间:星期一,2011年11月07 08:28:32 GMT语法:公共传输编码:分块Etag: 1320654512连接:保持活动上次修改时间:星期一,07 11月2011 08:28:32 GMT

即使Last-Modified字段不同,它仍然使用缓存的数据。

EN

回答 2

Stack Overflow用户

发布于 2011-11-08 10:40:28

我想我找到了这个问题。当我得到头的时候,请求还没有完成。即使报头不同,它也会检查请求是否已完成。所以我想我应该写我自己的缓存。

票数 0
EN

Stack Overflow用户

发布于 2011-12-22 21:24:19

答案在问题中:

代码语言:javascript
运行
复制
[cache setShouldRespectCacheControlHeaders:NO];

你应该使用

代码语言:javascript
运行
复制
[cache setShouldRespectCacheControlHeaders:YES];

以使缓存尊重标头信息。

希望能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8018016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档