как заставить все браузеры не сохранять кеш вашего сайта?

Когда вы находитесь на стадии разработки, немного неловко постоянно напоминать своим клиентам об очистке кеша или просить их «обновить страницу несколько раз».

Есть ли параметр, который я, разработчик, могу установить в nginx или в качестве метатега в HTML, чтобы заставить все браузеры прекратить кэширование моей страницы?


person TheOne    schedule 09.01.2014    source источник
comment
Не совсем дубликат, но чертовски похож на stackoverflow.com/questions/118884/   -  person Paul Tomblin    schedule 09.01.2014


Ответы (2)


Теоретически, согласно Разница между заголовками Pragma и Cache-control?, а также http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.32 в nginx может быть достаточно следующего:

add_header  Cache-Control   no-cache;

На практике вам, возможно, придется указать некоторые дополнительные директивы; может показаться, что достаточно использовать директиву expires, которая автоматически добавит заголовок Cache-Control, как указано выше, слишком:

expires -1;
person cnst    schedule 09.01.2014
comment
@Рамин, конечно; его даже можно использовать в if внутри location. - person cnst; 10.01.2014

Попробуйте установить эти заголовки:

"Cache-control: no-store, no-cache, must-revalidate"
"Expires: Mon, 26 Jun 1997 05:00:00 GMT"
"Pragma: no-cache"
"Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"

Это предотвратит кэширование страниц браузерами.

person Shahe    schedule 09.01.2014