NSURLCache на iOS 4.3.x не проверяет заголовки Last-Modified или Etag - PullRequest
1 голос
/ 16 марта 2012

Если я загружаю документ с использованием NSURLConnection / NSURLCache, который кэшируется, редактирую этот документ на сервере (поэтому меняются заголовки Last-Modified и Etag), а затем снова загружаю документ, возвращается предыдущая версия кэша. NSURLCache / NSURLConnection не предпринимает попыток проверить наличие более нового ресурса с использованием заголовков If-Modified-Since / If-None-Match в запросе (который будет возвращать более новую версию ресурса).

Должно ли NSURLCache использоваться вместе с проверкой NSURLConnection для обновленного ресурса на сервере с использованием заголовков Last-Modified / Etag, которые были ранее кэшированы? Кажется, я не могу найти какую-либо документацию, чтобы сказать, должно ли это произойти или если проверка содержимого HTTP 304 остается за разработчиком.

1 Ответ

0 голосов
/ 16 марта 2012

Я позволю другим людям прокомментировать, как использовать NSURLCache. Я обнаружил, что наиболее надежным способом предотвращения кэширования с помощью NSURLConnection, прокси-серверов и неправильно настроенных веб-серверов является добавление увеличивающегося числа к вашему URL-адресу.

То есть вместо использования http://mycompany.com/path, используйте http://mycompany.com/path?c=1, http://mycompany.com/path?c=2, http://mycompany.com/path?c=3, и т. Д. И т. Д.

Это взлом, но хороший.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...