S3 сохраненное изображение с заголовком If-Modified-Since не работает

amazon-web-services browser amazon-s3 http-headers browser-cache

1120 просмотра

1 ответ

Есть ли способ загрузить изображения из S3 в браузер, только если они были изменены, отправив заголовок If-Modified-Since?

Он должен быть включен по умолчанию в браузерах и S3, но тесты говорят, что изображения загружаются при каждом обновлении.

Автор: Kainax Источник Размещён: 08.11.2019 11:10

Ответы (1)


3 плюса

Решение

Amazon S3 уже поддерживает If-Modified-Sinceзаголовок, а также связанный If-None-Match(который использует ETag вместо даты).

Таким образом, способ загрузки изображений только в том случае, если они были изменены, состоит в том, чтобы фактически использовать If-Modified-Sinceили, If-None-Matchесли у вас есть Etag. Однако, поскольку вы говорите о загрузке его в браузер, большинство браузеров уже будут делать это, если вы не сделали что-то напуганное, чтобы отключить кэширование браузера.

См. Http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectGET.html#RESTObjectGET-requests-request-headers для получения подробной информации о поддерживаемых заголовках.

Вы испытываете ситуацию, когда браузер все еще загружает изображения из S3, даже если они не были изменены? Если да, есть ли у вас более подробная информация об этом, например, браузер, версия и что-то вроде HAR-файла вкладки сети Chrome, иллюстрирующее симптомы?

По умолчанию он должен работать с обеих сторон без каких-либо пользовательских изменений. Я только что скопировал, загрузив новый файл PNG изображения на S3. В новом окне браузера я открыл инструменты разработчика и загрузил вкладку сети. Я гарантировал, что «отключить кеширование» было отменено, а «сохранить журнал» отмечен галочкой (для сохранения журнала в течение нескольких обновлений F5).

Я загрузил изображение и затем дважды нажал F5, чтобы перезагрузить. Результат был:

Скриншот вкладки сети

Как видите, первая загрузка была со статусом 200, остальные запросы получили 304.

Автор: Chris Simon Размещён: 20.08.2016 12:25
Вопросы из категории :
32x32