У меня есть корзина Google с разрешением на чтение для allUsers
, но он не настроен как веб-сайт (и без архивирования). Я испытываю кеширование объекта, даже когда отправляю Запросы с участием no-cache
контроль:
gsutil cp test gs://mybucket
# test has default meta Cache-Control: public, max-age=3600
wget -S --no-cache http://storage.googleapis.com/mybucket/test
# OK saved as test
gsutil rm gs://mybucket/test
wget -S --no-cache http://storage.googleapis.com/mybucket/test
# Saved as test.1, why?
Я запустил wget --no-cache
после удаления объекта несколько раз. Иногда он возвращал кешированный test
файл, иногда правильно HTTP 404. Я выполнил команды с сервера Ubuntu Google Compute Engine с no cache
настроен. У меня такие же результаты на нескольких машинах за пределами Google Cloud.
ИМО сервер должен возвращать HTTP 404 всегда. Есть ли ошибка в инфраструктуре Google Cloud?
Примечание: когда я устанавливаю мета объекта Cache-Control:no-cache
он работает как положено. Но я думаю, что сервер никогда не должен возвращать кешированный контент для wget --no-cache
даже если у него есть мета по умолчанию Cache-Control:no-cache
Ты прав. В настоящее время Google Cloud Storage игнорирует анонимные клиентские запросы на пропуск кеширования.
Вы можете обойти это, явно установив другую политику управления кешем для объекта, запросив конкретное создание объекта или сделав авторизованные запросы.