首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >If-None-Match和NSURLConnection

If-None-Match和NSURLConnection
EN

Stack Overflow用户
提问于 2013-06-30 18:49:18
回答 2查看 1.7K关注 0票数 10

我的服务器正在为缓存支持设置etag头元素。

iOS (6.1.4)应用程序使用本机NSURLConnection类向服务器发送XML请求

服务器第一次发送在报头中设置了etag的响应

如果iOS应用程序正在向服务器发送完全相同的请求,我可以在服务器日志中看到NSURLConnection没有填充if-none-match标头

..。然后服务器返回200而不是304

请求使用的缓存策略为:

代码语言:javascript
复制
[request setCachePolicy:NSURLRequestReturnCacheDataElseLoad];

NSURLCache的初始化方式为

代码语言:javascript
复制
[[NSURLCache sharedURLCache] setMemoryCapacity:1024*1024*10];

我的问题:- NSURLConnection没有设置"if-none-match“头字段正常吗?-我需要自己设置这个头字段吗?(从缓存获取响应,读取etag值并在请求报头中设置)?

EN

回答 2

Stack Overflow用户

发布于 2016-01-26 03:25:41

我在这个问题上遇到了同样的问题。对我来说,我使用的是默认缓存策略(NSURLRequestUseProtocolCachePolicy),它会自动设置"if-none-match“头字段,服务器将检查该字段。但是,将缓存策略设置为"NSURLRequestReloadIgnoringLocalCacheData“显然会删除该标头字段。

您是否尝试过其他缓存策略值,以查看它们是否为您添加了该标头?

在这里可以看到关于这些不同缓存策略值的博客:http://nshipster.com/nsurlcache/

编辑:我发现了另一个堆栈溢出问题,证实了我上面所说的:NSURLCache and ETags

票数 2
EN

Stack Overflow用户

发布于 2016-01-26 04:01:54

还要在Xcode中查找符号(右键单击符号并单击"Jump to definition")。根据文件的注释,有一些是存在的,但没有实现!

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

https://stackoverflow.com/questions/17389574

复制
相关文章

相似问题

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