【问题标题】:How does - [NSURLCache cachedResponseForRequest:] actually get the matching cache?- [NSURLCache cachedResponseForRequest:] 如何实际获得匹配的缓存?
【发布时间】:2015-09-22 07:38:12
【问题描述】:

-[NSURLCache cachedResponseForRequest:] 是如何工作的?它是否像键值对一样工作,其中键是 NSURLRequest 对象的内容(包括 NSURL 对象、缓存策略、超时间隔、HTTPBody、HTTPHeaders) ?如果是这样,那么如果上述任何一个字段不同,那么我们就无法检索缓存。

例如,假设 NSURLRequest 的所有内容都保持不变,除了 HTTPBody,其中一个请求的正文为:

{
a = 1;
}

而另一个请求的正文是:

{
a = 2;
}

我可以使用后一个请求获取前一个请求的缓存吗?

【问题讨论】:

    标签: ios nsurlconnection nsurlcache


    【解决方案1】:

    IIRC,仅考虑 URL。如果标题或正文数据差异对您很重要,您将需要实现自定义缓存。如果您决定走这条路,URL 加载系统编程指南应该会有所帮助。

    【讨论】:

    • 不太正确,在某些情况下,我尝试使用 HTTP POST 连接并能够存储和检索具有不同 HTTP 正文的请求的不同缓存。我认为 HTTP 正文存在限制(例如字节大小)。但无论如何,自定义缓存存储和检索应该可以解决我的问题,谢谢!
    猜你喜欢
    • 1970-01-01
    • 2014-01-28
    • 1970-01-01
    • 2014-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多