#iphone #http-headers #nsurlrequest
#iPhone #http-заголовки #nsurlrequest
Вопрос:
У меня возникла эта проблема при разработке приложения, где запрос представлял собой простой URL, а ответ возвращал XML.
Я использовал, [NSURLRequest sendsynchronousrequest]
и заголовок запроса Cache-Control
по умолчанию имел max-age
значение 81769
по умолчанию. Из-за этого ответ, который я получил, был не последним XML, а старым XML. Safari и IE вернули старый XML, но Chrome и Firefox вернули обновленный последний XML.
Я предположил, что причина, по которой IE и Safari вернули старый XML, заключалась в том, что Cache-Control
максимальный возраст был 81769
, тогда как возвращался тот же заголовок при проверке в Chrome или Firefox 0
.
Итак, я вручную установил max-age
значение as 0
для поля заголовка и получил последний XML-файл в качестве ответа.
Я хочу знать, является ли это лучшим решением или есть какой-либо другой надежный способ получить последний ответ.
Ответ №1:
Вы хотите посмотреть на набор NSURLRequestCachePolicy
значений enum.
В частности, вы можете создать NSURLRequest
объект с помощью [NSURLRequest requestWithURL:cachePolicy:timeoutInterval:]
метода и указать NSURLRequestReloadIgnoringLocalCacheData
или что-то подобное для политики кэширования.