Как очистить кеш на веб-сайте stati c Cloud Storage после изменения файла корзины? - PullRequest
0 голосов
/ 05 мая 2020

У меня есть stati c веб-сайт, который я обслуживаю через Google Cloud. Это достигается путем хранения файлов stati c в общедоступном сегменте и использования этого сегмента в качестве серверной части для балансировщика нагрузки HTTPS. (Параметр CDN для балансировщика нагрузки НЕ выбран.)

Сайт загружается нормально, но моя проблема в том, что когда я обновляю содержимое корзины, эти изменения отражаются в браузере в непредсказуемом количестве времени. Я явно обновляю, и я также пытаюсь, пока консоль Chrome открыта, и на вкладке «Сеть» выбрано «отключить кеш».

Я убедился, что код сегмента действительно обновляется, перейдя в страницу «сведения об объекте» в облачном хранилище для рассматриваемого файла javascript и посетив предоставленный «URL-адрес ссылки». Я ищу в нем свои изменения и вижу их. Затем я захожу на свой веб-сайт, просматриваю исходный код, открываю связанный файл js на новой вкладке, ищу свои изменения с помощью grep и не вижу их. Итак, они находятся в корзине, но где-то кешируются.

Я не уверен, происходит ли кеширование, которое я испытываю, в браузере или на каком-то уровне в Google Cloud. Но как сделать так, чтобы при изменении содержимого корзины я сразу видел эти изменения в моем браузере? Как я могу гарантировать, что кеш, где бы это ни происходило, очищался после каждого обновления сегмента?

1 Ответ

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

Здесь отрывок документации :

Обратите внимание также на то, что, поскольку объекты могут кэшироваться в различных местах Inte rnet, невозможно принудительно кэшировать объект истекает глобально (в отличие от способа, которым вы можете заставить ваш браузер обновлять sh кеш). Если вы хотите предотвратить обслуживание кэшированных версий общедоступных объектов, установите для объекта «Cache-Control: no-cache, max-age = 0».

Итак, я рекомендую вам установить cache max-age равным 0 для вашего файла, если вы не хотите иметь задержку при обновлении корзины. Однако это компромисс между низкой задержкой обслуживания / низкой стоимостью (меньше чтения в хранилище, меньше исходящего трафика) и низкой задержкой обновления.

Все зависит от вашего варианта использования!

...