Http-Headers
Google云儲存公共對象記憶體在伺服器端
我有一個具有讀取權限的 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。我已經從 Google Compute Engine Ubuntu 伺服器執行了命令,並已no cache
配置。我從 Google Cloud 之外的幾台機器上得到了相同的結果。IMO 伺服器必須始終返回 HTTP 404 。Google Cloud 基礎架構中是否存在錯誤?
注意:當我設置對像元
Cache-Control:no-cache
時,它按預期工作。但我認為伺服器永遠不應該返回記憶體的內容,wget --no-cache
即使它有預設的元Cache-Control:no-cache
你是對的。Google Cloud Storage 目前忽略匿名客戶端請求以跳過記憶體。
您可以通過在對像上顯式設置不同的記憶體控制策略、請求特定生成的對像或發出授權請求來解決此問題。