Очистить весь кэш сайта?
Можно ли очистить весь кэш сайта? Я хотел бы сделать это, когда пользователь выходит из системы или сеанс истекает, вместо того чтобы указывать браузеру не кэшировать каждый запрос.
5 ответов:
Насколько мне известно, нет никакого способа заставить браузер очистить все страницы, которые он кэшировал для вашего сайта. Единственный контроль, который вы, как автор веб-сайта, имеете над кэшированием страницы, происходит, когда браузер пытается получить доступ к этой странице. Вы можете указать, что кэшированные версии ваших страниц должны истекать в определенное время, используя заголовок
Expires
, но даже в этом случае браузер фактически не очистит страницу из своего кэша в это время.
Если безопасность является вашей главной заботой здесь, почему бы не использовать HTTPS? Браузеры не кэшируют содержимое, полученное по протоколу HTTPS (или кэшируют его только в памяти).
Одним из хитрых способов имитировать это было бы включить session-id в качестве параметра при ссылке на любой статический фрагмент контента на сайте. Когда пользователь устанавливает сеанс, браузер распознает все части контента как новые из-за включения этого параметра. В течение всего сеанса браузер будет использовать статическое содержимое в своем кэше. После выхода пользователя из системы и повторного входа в систему параметр session-id для статического содержимого будет отличаться, поэтому браузер распознает это как совершенно новый контент и загрузит все заново.
Как говорится... это хак, и я бы не рекомендовал продолжать его.. По какой причине вы хотите, чтобы кэш пользователя был очищен после окончания сеанса? Вероятно, есть лучшее решение, которое может соответствовать вашей ситуации, а не тому, о чем вы сейчас просите.