從Amazon cloud frontCloudfront決定從緩存或服務器獲取數據?
亞馬遜CloudFront的是,加快配送的 靜態和動態Web內容,如html的,的CSS,.PHP和圖像 文件,給用戶的網絡服務。 CloudFront通過全球數據中心網絡 提供您的內容,稱爲邊緣位置。
對於每個我不知道的人,CloudFront必須緩存以URL作爲關鍵字的內容。網址可以同時投放靜態內容和動態內容。假設我有100個weburl,其中30個提供靜態內容,70個提供動態內容(用戶特定數據)。我有每一個問題,關於靜態和動態內容
動態內容: - 說用戶_A通過url_A訪問美國他的數據。該數據已被緩存。他更新了名字。現在,同一用戶將訪問美國同一地點的數據或從英國另一地點的 訪問數據。我們在更新之前看到數據。如果是,邊緣位置將如何知道數據需要從服務器獲取而不是從緩存中獲取? 邊緣位置是否繼續顯示來自緩存的數據以進行可配置的時間量,如果時間已過,則從服務器中獲取?
是否CloudFront的允許配置,需要從服務器,而不是緩存總是獲取特定的URL的?
靜態內容: - 即使靜態數據可能會在每次發佈時發生變化,但有可能發生變化。雲端如何知道緩存的靜態內容是陳舊的,需要從服務器獲取?
1.你說'你可以設置默認的TTL的分佈',我們可以設置默認TTL在設置CloudFront的? 2.'如果靜態內容已更改,則您的應用程序必須發送無效請求'Cloudfront是否提供任何供應/配置以將無效請求 發送到雲端?它是在URL級別還是用於完整分發? –
@JohnRotenstein,小細節...根據文檔,CloudFront不使用HEAD來檢查陳舊的對象,它使用[條件'GET'](http://docs.aws.amazon.com/AmazonCloudFront/最新/ DeveloperGuide/RequestAndResponseBehaviorCustomOrigin.html#RequestCustomConditionalGETs),發送'If-Match' /'If-None-Match'和/或If-Modified-Since'以及最後提供的值。最終的結果是相似的(如果不改變,避免傳輸),但是它也避免了第二個請求,如果'HEAD'響應顯示過時的緩存對象確實已經在原點更新了,那麼這將是必要的。 –
@sqlbot謝謝,修復! –