作者:潇湘V烟雨 | 来源:互联网 | 2023-05-17 15:47
NSURLCache
今天我在Charles Proxy中检查请求和响应头时发现了(可能)的问题.这个问题有点令人困惑,但我能够一贯地重复它:
简而言之,该问题与NSURLRequest
使用NSURLCache
默认策略的iOS本机缓存s 有关.事实证明,只要响应有标头,就不会缓存请求transfer-encoding: chunked
.但是如果响应头是content-length: xxx
相反的,缓存工作正常.具体来说,似乎当响应被分块时,NSURLCache不会保存eTag并且忽略将if-none-match
标头附加到对同一URL的后续请求,因此,缓存失败(应该如此),即返回200而不是一个304.
我在iOS8.2模拟器上测试.即使你没有解决方案,我也很乐意听到你是否遇到过同样的问题.我找到了至少一个类似的报告),这是我的后端工程师发布的相关主题.