Как Вы препятствуете тому, чтобы браузер отобразил кэшированную версию страницы?

Я лично создал бы тест для класса А, в вашем тесте использовал бы фиктивную реализацию, а затем протестировал бы вашу функцию. Таким образом, проверка не требуется для каждой реализации.

5
задан Joel Coehoorn 20 May 2009 в 19:08
поделиться

6 ответов

Вы можете добавить такой метатег.

<meta http-equiv="pragma" content="no-cache" />
9
ответ дан 18 December 2019 в 06:36
поделиться

В наших проектах ASP.Net мы создаем BasePage, от которого наследуются все остальные страницы. На базовой странице у нас есть функция

Public Sub DisableCaching()
    With Response
        .Expires = 0
        .ExpiresAbsolute = Date.Today.AddDays(-1)
        .AddHeader("pragma", "no-cache")
        .AddHeader("cache-control", "no-cache")
    End With
End Sub

. Мы вызываем ее на любой странице, которую не хотим кэшировать.

6
ответ дан 18 December 2019 в 06:36
поделиться

Попробуйте любое из этого:

Response.Cache.SetExpires(DateTime.Now.AddSeconds(360));
Response.Cache.SetCacheability(HttpCacheability.Private)
Response.Cache.SetSlidingExpiration(true);

Page.Response.Cache.SetCacheability(HttpCacheability.NoCache)

См. Также этот вопрос .

2
ответ дан 18 December 2019 в 06:36
поделиться

Установите для заголовка Cache-Control значение no-cache.

3
ответ дан 18 December 2019 в 06:36
поделиться

ОДИН подход - добавить заголовок «Истекает срок действия или заголовок управления кешем».

Это было извлечено из Yahoo Best Practices ( http: // developer .yahoo.com / performance / rules.html )

В этом правиле есть две вещи:

* For static components: implement "Never expire" policy by setting far future Expires header
* For dynamic components: use an appropriate Cache-Control header to help the browser with conditional requests

Браузеры (и прокси-серверы) используют кеш, чтобы уменьшить количество и размер HTTP-запросов, заставляя веб-страницы загружаться Быстрее. Веб-сервер использует заголовок Expires в HTTP-ответе, чтобы сообщить клиенту, как долго компонент можно кэшировать. Заголовок Expires в далеком будущем, сообщающий браузеру, что этот ответ не будет устаревшим до 15 апреля 2010 года.

  Expires: Thu, 15 Apr 2010 20:00:00 GMT

Если ваш сервер - Apache, используйте директиву ExpiresDefault, чтобы установить дату истечения срока действия относительно текущей даты. Этот пример директивы ExpiresDefault устанавливает дату истечения срока действия через 10 лет с момента запроса.

  ExpiresDefault "access plus 10 years"

По сути, вы сможете установить дату истечения срока, чтобы «информировать» браузер о том, что срок действия кэшированного компонента истек. Поэтому браузер пойдет и запросит сайт снова.

Предполагая, что вам это нужно для веб-разработки, другим способом будет принудительная очистка кеша. в Firefox это можно сделать с помощью CTRL + F5 или CTRL + SHIFT + R.

Надеюсь, это поможет, Лукас

3
ответ дан 18 December 2019 в 06:36
поделиться

Одним из решений было бы добавить переменную QueryString к URL-адресу, которая является случайным идентификатором guid, но это кажется немного беспорядочным

Почему беспорядок? Это самый надежный способ. Это не обязательно guid, это может быть текущее время.

1
ответ дан 18 December 2019 в 06:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: