Если вы можете, сделайте почтовый запрос, чтобы получить XML.Почтовые запросы не могут кешироваться.
Если вы не можете сделать почтовый запрос, добавьте что-то уникальное в часть запроса-информации URI запроса, например, текущее время:
old: http://exmaple.com/data.xml
new: http://exmaple.com/data.xml?878621387
^ random number
Сначала я неправильно прочитал ваш вопрос и был обеспокоен тем, что вы хотите предотвратить кэширование вашего ответа.Возможно, он все еще используется, поэтому я оставляю его здесь:
В популярных приложениях часто существуют функции, которые устанавливают несколько заголовков для предотвращения кэширования.Это пример из кодовой базы wordpress:
function nocache_headers() {
@ header('Expires: Wed, 11 Jan 1984 05:00:00 GMT');
@ header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
@ header('Cache-Control: no-cache, must-revalidate, max-age=0');
@ header('Pragma: no-cache');
}
Он устанавливает заголовок Expires
на дату в прошлом.Таким образом, при доставке срок действия документа уже истек или в условиях кэширования составляет устаревший .Эти документы не должны доставляться кэшем.
Тогда заголовок Last-Modified
устанавливается на текущее время.
Затем Cache-Control
заголовок установлен, чтобы сигнализировать, что кэши не должны кэшировать ответ, должны повторно подтвердить и должны хранить копии в течение максимального возраста 0 .Возможно, это звучит немного шизофренично (как будто не кешировано, не может быть возраста), но это просто для того, чтобы прокси-серверы и пользовательские агенты заполняли данными, чтобы они остановились.Заголовок 1036 * установлен в no-cache для предотвращения кэширования также для HTTP / 1.0-совместимых прокси и пользовательских агентов (клиенты HTTP / 1.1 обычно используют Cache-Control
).
Все эти заголовкиподробно описаны в протоколе передачи гипертекста - HTTP / 1.1 RFC 2616 Fielding, et al.Раздел 14 Определения полей заголовка , если вы хотите проверить доступные варианты.