У нас довольно статичный сайт с высоким трафиком (т.е. без серверного кода), с большим количеством изображений, сценариев, CSS, размещенных на IIS 7.0
Мы хотели бы включить некоторое кэширование, чтобы уменьшить количество серверовзагрузки, и считается, что срок действия веб-контента истекает в будущем.В IIS мы можем сделать это на глобальном уровне через раздел «Expire web content» общих заголовков http в модуле заголовка ответа IIS.Возможно, срок действия содержимого истекает через 7 дней после подачи.
Все, что на самом деле делает, - это, насколько я могу судить, задает заголовок ответа HTTP max-age
, что, я думаю, имеет смысл.
Теперь путаница:
Во-первых, все браузеры, которые я проверял (IE9, Chrome, FF4), кажется, игнорируют это и все еще делают условные запросы к серверу, чтобы увидеть, изменился ли контент,Итак, я не совсем уверен, на что на самом деле повлияет заголовок ответа max-age ?!Это могут быть старые браузеры?Или веб-кеши?
Возможно, мы захотим изменить изображение на сайте в кратчайшие сроки ... Я предполагаю, что если максимальный возраст равен на самом делеиспользуется чем-то, что по самой своей природе не будет проверять, изменилось ли это изображение в течение 7 дней ... так что это тоже не то, что мы хотим
Интересно, еслиЧто делать, если разделить сайт на папки с содержимым действительно не часто, а включить только один долгосрочный срок действия этих папок?Возможно, изменить строку запроса, чтобы принудительно обновить содержимое этих папок, если это необходимо (например, /assets/images/background.png?version=2)?
В любом случае, просмотрев (довольно сухо!) HTTP-спецификация и некоторые учебные пособия , я до сих пор не понимаю, что правильно в нашей ситуации.
Любой реальный опыт ситуацииподобный нашему был бы очень оценен!