NSURLCache cachedResponseForRequest 被调用两次
NSURLCache cachedResponseForRequest getting call twice
在我的代码中,我重写了 NSURLCache cachedResponseForRequest 以发送缓存的响应,以防万一已经下载。但由于某种原因,cachedResponseForRequest 被调用了两次。有人知道原因吗?
这是默认行为吗?
我很确定所讨论的方法是出于非常不同的原因从 NSURLSession 堆栈的两个不同部分调用的:
- 获取缓存响应的日期,以便它可以在 HEAD 请求中提供 headers,询问服务器自那时以来内容是否已被修改。
- 在服务器发回 304(未修改)状态码后获取缓存响应的实际数据。
在我的代码中,我重写了 NSURLCache cachedResponseForRequest 以发送缓存的响应,以防万一已经下载。但由于某种原因,cachedResponseForRequest 被调用了两次。有人知道原因吗?
这是默认行为吗?
我很确定所讨论的方法是出于非常不同的原因从 NSURLSession 堆栈的两个不同部分调用的:
- 获取缓存响应的日期,以便它可以在 HEAD 请求中提供 headers,询问服务器自那时以来内容是否已被修改。
- 在服务器发回 304(未修改)状态码后获取缓存响应的实际数据。