ios – If-None-Match和NSURLConnection

ios – If-None-Match和NSURLConnection,第1张

概述我的服务器正在为缓存支持设置etag标头元素. iOS(6.1.4)应用程序使用本机NSURLConnection类将XML请求发送到服务器 服务器第一次发送响应时,标题中设置了etag 如果iOS应用程序向服务器发送完全相同的请求,我可以在服务器日志中看到NSURLConnection未填充if-none-match标头 …然后服务器响应200而不是304 用于请求的缓存策略是: [reques 我的服务器正在为缓存支持设置etag标头元素.

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

服务器第一次发送响应时,标题中设置了etag

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

…然后服务器响应200而不是304

用于请求的缓存策略是:

[request setCachePolicy:NSURLRequestReturnCacheDataElseLoad];

NSURLCache初始化为

[[NSURLCache sharedURLCache] setMemoryCapacity:1024*1024*10];

我的问题:
– NSURLConnection没有设置“if-none-match”头字段是否正常?
– 我是否需要自己设置此标题字段? (从缓存中获取响应,读取etag值并在请求标头中设置)?

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

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

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

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

总结

以上是内存溢出为你收集整理的ios – If-None-Match和NSURLConnection全部内容,希望文章能够帮你解决ios – If-None-Match和NSURLConnection所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1103300.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存