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

StackOverflow https://stackoverflow.com/questions/115720

  •  02-07-2019
  •  | 
  •  

Вопрос

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

Это было полезно?

Решение

Вы можете использовать метатеги 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
%>

Другие советы

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

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

Если вы поставите

Response.Expires = -1

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top