Amazon S3: различие в Cache-Control и сроке действия и настройка через REST API
Я хочу повысить скорость загрузки своих сайтов, поэтому я используюhttp://gtmetrix.com/, чтобы проверить, что я мог бы улучшить. Одна из самых низких оценок, которую я получил за «Использование кэширования в браузере». Я обнаружил, что мои файлы (в основном изображения) имеют проблему "срок действия не указан".
Хорошо, проблема ясна, подумал я. Я начал гуглить и обнаружил, что amazon S3 предпочитает метаданные Cache-Control, а не дату истечения срока действия (я потерял эту ссылку, теперь я думаю, что, возможно, я что-то неправильно понял). В любом случае, я начинаю искать, как добавить мета-элемент управления кэшем в объект S3. Я нашел эту страницу:http://www.bucketexplorer.com/documentation/amazon-s3--how-to-set-cache-control-header-for-s3-object.html
Я узнал, что я должен добавить строку в мой запрос PUT.
x-amz-meta-Cache-Control : max-age= <value in seconds>
// (между знаком равенства и цифрами не должно быть пробела (здесь я ошибся)).
Я использую конструкцию:Cache-control:max-age=1296000
и это работает хорошо.
После этого я читаюhttps://developers.google.com/speed/docs/best-practices/caching Эта статья рассказывала мне: 1) «Установите срок действия не менее одного месяца, а в будущем - до одного года».
2) «Мы предпочитаем Expires вместо Cache-Control: max-age, потому что он поддерживается более широко» (в разделе «Рекомендации»).
Итак, я начинаю искать способ установить дату окончания срока действия объекта S3. Я нашел это:http://www.bucketexplorer.com/documentation/amazon-s3--set-object-expiration-on-amazon-s3-objects-put-get-delete-bucket-lifecycle.html
И вот что я обнаружил: «Используя управление жизненным циклом объектов Amazon S3, вы можете определить срок действия объектов для объектов Amazon S3. По истечении срока действия жизненного цикла, определенного для объекта S3, Amazon S3 удалит такие объекты. Поэтому, когда вы захотите сохранить свои данные на S3 только в течение ограниченного времени, и вы хотите, чтобы он автоматически удалялся Amazon S3, вы можете установить истечение срока действия объекта. "
Я не хочу удалять свои файлы из S3. Я просто хочу добавить кеш мета для ма, максимальное время кеша и / или время истечения файла.
Я полностью запутался с этим. Может кто-нибудь объяснить, что я должен использовать: срок действия объекта или контроль кэша?