Сколько времени будет полезно установить в заголовке expire для веб-сайта? - PullRequest
5 голосов
/ 29 июля 2010

"Веб-страницы становятся все более сложными, и на них появляется все больше скриптов, таблиц стилей, изображений и Flash. При первом посещении страницы может потребоваться несколько HTTP-запросов для загрузки всех компонентов. Использование заголовков Expiresэти компоненты становятся кешируемыми, что позволяет избежать ненужных HTTP-запросов при последующих просмотрах страниц. Заголовки Expires чаще всего связаны с изображениями, но их можно и нужно использовать для всех компонентов страницы, включая скрипты, таблицы стилей и Flash. "

Как написано в Yslow .

Мой вопрос заключается в том, сколько времени было бы полезно установить в заголовке expire для веб-сайта с несколькими таблицами стилей, Flash-заголовками, Javascripts, изображениями,PDF, файлы MS Excel, PPT и т. Д .?

Если я хочу установить одинаковое время истечения для всех вещей.

Ответы [ 2 ]

6 голосов
/ 29 июля 2010

Что я делаю, так это устанавливаю высокое значение срока действия файлов CSS и JavaScript, например, 1 или 5 лет. Когда я изменяю таблицы стилей или файлы JS, я изменяю номер версии в их URL-адресах, чтобы предотвратить отправку устаревших файлов из кэша.

Похоже, именно это и делает SO:

<link rel="stylesheet" href="http://sstatic.net/stackoverflow/all.css?v=e27c9b7474df">

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>

<script src="http://sstatic.net/js/question.js?v=b05e8725a843" type="text/javascript"></script>

Поэтому, когда они меняют таблицу стилей, они меняют all.css?v=e27c9b7474df на all.css?v=some new version. Файл question.js javascript соответствует тому же соглашению. Но имена файлов тоже подойдут, вы можете назвать ваши файлы CSS / JS all-1.css, затем изменить их на all-2.css и т. Д. Фактический формат номера версии зависит от вас, пока изменяется URL.

2 голосов
/ 29 июля 2010

Если ресурсы вашей страницы (images / css / js), как правило, не изменяются и являются статичными, вы можете установить заголовок expires на что-то гораздо большее, например 1 год .

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

Если вы думаете о сайте, подобном SO, контент меняется настолько часто, что срок действия истекаетзаголовок на странице очень маленький.Из заголовков похоже, что они используют максимальный возраст 60 секунд и имеют заголовок с истекшим сроком действия на 1 минуту от текущего.

...