2010-11-23 2 views
0

Я использую заголовок ответа, чтобы убедиться, что страница не кэширована в конце браузера. Для этого я использовал следующий код. Может кто-нибудь, пожалуйста, свяжитесь с нами,Вопросы кеширования HTTP

  1. Как проверить, работает ли это? или не работает?
  2. Он также останавливает кеширование для CSS и JS fils.
  3. Может кто-нибудь объяснить, как работает это кеширование? в окнах есть временные интернет-файлы, это имеет какое-то отношение к этому.

    Response.CacheControl = "no-cache, no-store";

    Response.AddHeader("Pragma", "no-cache");

    Response.Expires = -1;

+0

Какие фактические поля заголовка создают этот код? – Gumbo 2010-11-23 10:28:25

ответ

3

Go чтения Mark Nottingham's excellent tutorial.

Response.CacheControl = "no-cache, no-store"; 

должен быть

Response.CacheControl = "no-cache, no-store, must-revalidate"; 

и

Response.AddHeader("Pragma", "no-cache"); 

не имеет смысла - несмотря на его предложено множество сайтов (Manual - это заголовок запроса - не заголовок ответа).

Response.Expires = -1; 

относится только к HTTP/1.0 клиентов - большинство основных браузеров по-прежнему уважать HTTP/1.1 отзывов (кэш-контроль) заголовки даже при использовании HTTP/1.0 стека. В отсутствие кеширования информация не должна кэшировать ответ. Поэтому должно быть совершенно безопасно это исключить.

Как проверить, работает ли его?

Посмотрите на ваших лог-файлов веб-сервера или используйте Wireshark или iehttpheaders, чтобы увидеть, если браузеры собирается обратно на сервер каждый раз, когда содержание ссылается

ли это также останавливает кэширование для CSS и JS филсов ,

Да - информация кэширования не зависит от имени файла и его типа.

0

Частичное совпадение: чтобы проверить заголовки ответов, если вы используете Firefox, я рекомендую вам расширение Firebug, с ним вы можете проследить весь цикл HTTP, включая заголовки запросов и ответов, и код состояния ответа HTTP.

1

Там нет никакого способа, чтобы убедиться, что ничего не кэшируются браузером

По всем означает, что вы можете направить браузер не с заголовками ответа, но вы не можете гарантировать, что это будет работать во всех браузерах в все сценарии.

Если вы объясните причины (предотвращая использование подлокотника?), мы можем придумать достойное решение.

Смежные вопросы