Есть ли способ очистить браузер пользователя от моей страницы или сказать не использовать кеш? - PullRequest
4 голосов
/ 22 сентября 2008

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

Ответы [ 6 ]

9 голосов
/ 22 сентября 2008

Вы можете использовать метатеги HTML:

<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="Fri, 01 Jan 1999 1:00:00 GMT" />
<meta http-equiv="Last-Modified" content="0" />
<meta http-equiv="Cache-Control" content="no-cache, must-revalidate" />

Или вы можете использовать ASP заголовки ответа:

<% 
   Response.CacheControl = "no-cache"
   Response.AddHeader "Pragma", "no-cache"
   Response.Expires = -1
%>
2 голосов
/ 22 сентября 2008

Игнорируйте всех, кто говорит вам использовать <meta> элементы или Pragma. Они очень ненадежны. Вам необходимо установить соответствующие заголовки HTTP. Хороший учебник о том, как решить, какие заголовки HTTP вам подходят, доступен здесь . Cache-Control: no-cache это, вероятно, все, что вам нужно, но прочитайте учебник, так как существует множество конкретных причин, по которым вам может потребоваться что-то другое.

2 голосов
/ 22 сентября 2008

Не относится к asp, это вопрос HTTP. Вы делаете это, изменяя некоторые аспекты кэширования http, такие как Cache-Control, etag, Expires и т. Д. Читайте RFC2616 , особенно Кэширование в HTTP и устанавливайте соответствующий заголовок.

0 голосов
/ 23 сентября 2008

Это можно сделать, убедившись, что в Reponse.cachecontrol, response.expires и т. Д. Установлены правильные значения в соответствии с вашими потребностями. Эта ссылка может помочь понять, что они имеют в виду. http://aspjavascript.com/lesson07.asp

0 голосов
/ 22 сентября 2008

Из-за того, что разные браузеры обрабатывают кеширование, необходимо использовать команды Expires и no-cache. Вот статья , показывающая правильный способ сделать это.

0 голосов
/ 22 сентября 2008

Если поставить

Response.Expires = -1

на вашей классической ASP-странице браузер не будет кэшировать содержимое. Если пользователь нажимает «назад» или переходит на страницу другим способом, браузер обновит страницу с сервера.

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