Мы разрабатываем большой веб-сайт, и все наши изображения и ресурсы находятся в Amazon S3.Мы также используем Cloudfront для глобального распространения нашего Контента.Мы хотим, чтобы клиентский веб-браузер велел кэшировать наши файлы, потому что когда мы их изменяем, мы также меняем URL (Cloudfront не отражает изменение за 24 часа в другом месте).
Мыв настоящее время используют ETag, но это не является оптимальным, потому что Клиент все еще должен выполнить Запрос, чтобы проверить, изменился ли Ресурс.
Одним из решений будет заголовок Expires, но мы не нашли способ его установитьотносительно текущей даты, как это возможно в конфигурации Apache для S3, и мы не можем регулярно обновлять весь контент, потому что это довольно много.Поэтому нам понадобится параметр конфигурации, который устанавливает для заголовка Expires значение Date относительно текущей даты для всего содержимого.
Другим решением было бы установить Cache-Control: max-age на определенное значение.Это работает?Это принято основными браузерами?Я уничтожу некоторые алгоритмы кэширования с этим?Почему YSlow рекомендует устанавливать заголовок Expires, а не Cache-Control: max-age?
Любые другие Рекомендации?Мы сжимаем CSS и JS, используя спрайты, где это возможно, устанавливаем заголовки Expires и ETag, где это возможно, и скоро сжимаем наши изображения с помощью инструмента сжатия Yahoo и распаковываем вывод.