Кеширование Azure изображений в браузере - PullRequest
1 голос
/ 05 мая 2020

У меня есть загрузка изображений, хранящихся как капли в контейнере Azure.

Я пытаюсь заставить браузер (Chrome) кэшировать эти изображения для экономии трафика. Я прочитал много сообщений, в которых говорится, что этого можно достичь, установив заголовок ответа Cache-Control. Я использую Microsoft Azure Storage Explorer для изменения этих заголовков, например:

public, max-age=7776000

Microsoft Azure Storage Explorer

При загрузке этого изображения (https://XXXXXXXX.blob.core.windows.net/XXXXXXXX/Themes/summer.jpg) вот что я вижу с помощью инструментов разработчика Google Chrome:

Dev Tools

Это не имеет никакого значения для кеширование изображения. Я пробовал много разных перестановок разрешенных атрибутов CacheControl, но я вообще не вижу никакого кеширования. Статус всегда 200, но я ожидал 304 для попадания в кеш. Это правильно?

Какая бы CacheControl строка, которую я предоставил, всегда отображается в результатах Chrome; это просто не имеет никакого значения для аспекта кеширования. Я пробовал варианты public, private, max-age, s-maxage, must-revalidate. И чтобы быть полными, no-cache и no-store. Никаких различий не наблюдалось.

Загрузка изображения выше занимает 900 мс + . Однако при локальном сохранении то же изображение занимает 19 мс . Я ожидал, что если бы браузер кэшировал изображение, его время было бы эквивалентно местному времени.

В других сообщениях предлагается использовать Azure CDN. Однако я не хочу go идти по этому пути, поскольку сайту, который использует эти изображения, это не нужно.

Мне не хватает настройки в Azure, разрешающей кеширование? Загрузка изображений непосредственно в браузере или на веб-странице тоже не имеет значения.

Может ли кто-нибудь помочь? Сообщите мне, если потребуется дополнительная информация.

1 Ответ

2 голосов
/ 05 мая 2020

Настройки CacheControl должны вступить в силу.

При использовании chrome убедитесь, что вы не выбрали опцию «disable-cache».

Я вижу ожидаемое поведение при установке max-age=xx для CacheControl в chrome.

enter image description here

...