如果我使用缓存的NSURLConnection / NSURLCache下载文档,在服务器上编辑该文档(以便Last-Modified和Etag标题更改),然后再次下载文档,则返回先前的缓存版本。 NSURLCache / NSURLConnection不会尝试使用请求中的If-Modified-Since / If-None-Match标头检查更新的资源(这将返回更新版本的资源)。
与NSURLConnection一起使用的NSURLCache是否使用之前已缓存的Last-Modified / Etag标头检查服务器上的更新资源?我似乎无法找到任何文档来说明是否应该发生这种情况,或者检查HTTP 304内容是否取决于开发人员。
答案 0 :(得分:-1)
我会让其他人评论如何使用NSURLCache。我发现阻止使用NSURLConnection,代理服务器和配置错误的Web服务器进行缓存的最可靠方法是在URL中附加一个递增的数字。
所以不要使用http://mycompany.com/path,而是使用http://mycompany.com/path?c=1,http://mycompany.com/path?c=2,http://mycompany.com/path?c=3等等。
这是一个黑客,但是一个好的。