我對靜態資產使用亞馬遜的Cloudfront CDN。 Couldfront爲每個GET請求發佈Etag。我已經用特定的緩存控制信息爲我的所有資產設置了元數據,據我所知,這使得Etag變得多餘。我在WebPageTest.org上測試了我的網站的負載性能,併爲我提供了這些不必要的Etags。如果他們實際上是不必要的,是否有人知道一種抑制他們被排放的方法?我可以禁止在AWS Cloudfront上發佈Etag標頭嗎?
回答
如果Cloudfront提供一致的Etags,而不管您從哪個節點下載資產,那麼這應該將問題最小化。我已通過執行以下操作對此進行了測試:
從兩個不同位置解析到Cloudfront,我驗證了CNAME已解析爲完全不同的IP地址集。第一臺服務器解析爲亞馬遜LAX數據中心(lax1.cloudfront.net)中的一組8個IP地址,第二臺服務器解析爲亞馬遜SFO數據中心(sfo4.cloudfront.net)中的8個IP地址。
我在我們的Cloudfront發行版中選擇了一個對象,並從每個位置執行「wget --server-response」,然後比較結果。我爲每個數據中心多次執行此操作,以獲得每個數據中心中不同IP地址的響應。
結果是Etags是相同的,哪個數據中心的命中以及哪個IP地址從該數據中心響應。
我也注意到,以下標題DID服務器之間的差異 X-AMZ-ID-2 X-AMZ-請求ID 年齡 X-AMZ-CF-ID 通過
希望這有助於,
大衛
[編輯 - 基於以下良好的矯正上的ETag刪除評論]
這只是不正確的,Web性能監視你關於Etag和Last-Modified標題的錯誤,因爲即使你在Cache-Control標題中有很長的最大時限,這兩個標題也會導致不必要的往返服務器。如果Etag(和最後修改)被正確使用,這些往返行程的結果將是狀態碼304.但是這裏的差異是300ms與2ms(瀏覽器緩存),並且如果使用許多靜態資產(css ,js,圖像)。 – Evgeny 2012-01-08 17:35:26
如果您使用的是產地絲氨酸版本和禁用ETag,CloudFront不會將ETag添加到其標題中。我通過在源服務器上禁用ETag來驗證它。
從S3直接使用CloudFront時,有沒有辦法抑制Etag和Last-Modified? – saver 2014-01-24 18:40:21
- 1. AWS Cloudfront不轉發Accept-Language標頭
- 2. 我可以禁止在Guice注射嗎?
- 3. AWS CloudFront,`Vary`標頭和內容協商
- 4. 我可以在Oracle 11g中禁止插入觸發器嗎?
- 5. 無法在nginx上設置etag標頭
- 6. CloudFront背後的AWS API網關,轉發標頭?
- 7. 你可以設置HTTP標頭髮布
- 8. 我可以重置存儲在S3和CloudFront上的對象上的過期:標頭嗎?
- 9. 在Express Node.js中禁用etag頭文件
- 10. AWS CloudFront可以同時提供動態和靜態內容嗎?
- 11. 我需要再次發送一個304 Not Modified頭的ETag嗎?
- 12. 我可以阻止IVideoWindow :: put_Visible發佈消息嗎?
- 13. 我可以防止發佈某個PHP後期值嗎?
- 14. 我可以使用avahi在子網上發佈服務嗎?
- 15. 我可以通過API在Facebook上發佈評論嗎?
- 16. 我可以在遊戲市場上發佈hello world app嗎?
- 17. 有人可以幫我在twitter上發佈狀態嗎?
- 18. 我們可以使用twitter API在twitter上發佈圖片嗎?
- 19. 我們可以在Android應用上發佈Google plus嗎?
- 20. 我可以在Heroku上公開或發佈SOAP Web服務嗎?
- 21. 我可以發佈msi和exe嗎?
- 22. HTTP:生成ETag標頭
- 23. 加載AWS CloudFront文件時獲取403(禁止)
- 24. 在AWS CloudFront和S3上配置X-Frame-Options響應頭
- 25. 在Mayavi中可以用鼠標禁止軸旋轉嗎?
- 26. AWS CloudFront定製SSL證書已禁用
- 27. 我可以在Java Web Start中禁止加載對話框嗎?
- 28. 我可以標記我收取的所有AWS資源嗎?
- 29. jQuery AJAX可以禁止所有人嗎?
- 30. AWS Elastic Beanstalk/S3/CloudFront緩存控制標頭
對此有何更新? ETag強制多個獲取請求(即使設置了Expires和Max-age)。 – 2012-02-19 19:11:15