選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

根據查詢字串參數快取內容

焦點模式
根據查詢字串參數快取內容 - Amazon CloudFront

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

有些 Web 應用程式使用查詢字串來傳送資訊到原始伺服器。查詢字串是 Web 請求的一部分,其顯示在 ? 字元之後;此字串可包含以 & 字元分隔的一或多個參數。在下列範例中,查詢字串包含兩個參數,color=redsize=large

https://d111111abcdef8.cloudfront.net/images/image.jpg?color=red&size=large

針對分佈,您可以選擇是否要讓 CloudFront 將查詢字串轉送到原始伺服器,以及是否根據所有參數或選取的參數快取內容。為什麼說這可能很有用? 請考量下列範例。

假設您的網站提供五種語言。網站所有五種版本的目錄結構和檔案名稱都相同。當使用者檢視網站時,轉送給 CloudFront 的請求包含一個根據使用者所選語言的語言查詢字串參數。可以設定 CloudFront 轉送查詢字串到原始伺服器,並根據語言參數快取。如果您設定 Web 伺服器來傳回與所選語言對應的指定頁面版本,則 CloudFront 會根據語言查詢字串參數的值分別快取每個語言版本。

在這個範例中,如果網站的主要頁面為 main.html,以下五個請求會造成 CloudFront 快取 main.html 五次,對各語言查詢字串參數的值進行一次快取:

  • https://d111111abcdef8.cloudfront.net/main.html?language=de

  • https://d111111abcdef8.cloudfront.net/main.html?language=en

  • https://d111111abcdef8.cloudfront.net/main.html?language=es

  • https://d111111abcdef8.cloudfront.net/main.html?language=fr

  • https://d111111abcdef8.cloudfront.net/main.html?language=jp

注意下列事項:

  • 有些 HTTP 伺服器不處理查詢字串參數,因此不會傳回根據參數值的物件不同版本。針對這些原始伺服器,如果您設定 CloudFront 轉送查詢字串參數至原始伺服器,即使原始伺服器為每個參數值傳回相同物件的版本給 CloudFront,CloudFront 仍會根據參數值執行快取。

  • 為使查詢字串參數能如以上範例所述搭配多種語言運作,各查詢字串參數間必須使用 & 字元做為分隔符號。如果您使用不同的分隔符號,即有可能得到非預期的結果,具體取決於您所指定供 CloudFront 做為快取基礎的參數以及這些參數在查詢字串中顯示的順序。

    以下範例顯示使用不同的分隔符號並將 CloudFront 設定為僅根據 color 參數進行快取時將會發生的情況:

    • 在下列請求中,CloudFront 根據 color參數值快取內容,但 CloudFront 將該值解譯為 red;size=large

      https://d111111abcdef8.cloudfront.net/images/image.jpg?color=red;size=large

    • 在下列請求中,CloudFront 快取內容但不根據查詢字串參數快取。這是因為根據 color 參數設定 CloudFront 來快取,但 CloudFront 解譯以下字串為只包含一個 size 參數,該參數的值為 large;color=red

      https://d111111abcdef8.cloudfront.net/images/image.jpg?size=large;color=red

您可設定 CloudFront 執行以下其中一項:

  • 完全不要轉送查詢字串到原始伺服器。如果您不轉送查詢字串,CloudFront 不會根據查詢字串參數快取。

  • 轉送查詢字串到原始伺服器,以及在查詢字串中根據所有參數快取。

  • 轉送查詢字串到原始伺服器,以及在查詢字串中根據指定的參數快取。

如需詳細資訊,請參閱最佳化快取

查詢字串轉送和快取的主控台和 API 設定

若要在 CloudFront 主控台設定查詢字串轉送與快取,請參閱 分佈設定參考 中的下列設定:

若要使用 CloudFront API 設定查詢字串轉送和快取,請參閱 Amazon CloudFront API 參考中的 CachePolicyOriginRequestPolicy

最佳化快取

根據查詢字串參數將 CloudFront 設為快取時,可以採取下列步驟來減少 CloudFront 轉送至原始伺服器的請求數。CloudFront 節點存取物件時,您可以減少原始伺服器的負載並降低延遲,因為物件由離您使用者較近的位置提供。

快取僅根據原始伺服器傳回物件不同版本的參數

針對每個 Web 應用程式轉送到 CloudFront 的查詢字串參數,CloudFront 為每個參數值轉送請求到原始伺服器,且為每個參數值快取個別的物件版本 即使原始伺服器一律傳回相同物件,無論參數值如何,情況都是如此。對於多個參數,請求的數量和物件的數量相乘。

我們建議您設定 CloudFront 快取僅根據原始伺服器傳回物件不同版本的查詢字串參數,並且根據每個參數仔細考慮快取的優點。例如,假設您有一個零售網站。您有六種不同顏色的夾克圖片,以及夾克有 10 種不同的大小。您已有的圖片顯示夾克的不同顏色,但不顯示不同大小。為了最佳化快取,應設定 CloudFront 僅根據顏色參數,而非根據大小參數來快取。這會增加 CloudFront 的可能性,可以提供來自快取的請求,這可以提高效能,並降低您的原始伺服器原始伺服器的負載。

一律以相同順序列出參數

在查詢字串中參數的順序很重要。在下列範例中,查詢字串完全相同,除了參數的順序不同。這會造成 CloudFront 轉送兩個個別的 image.jpg 請求到原始伺服器並快取兩個個別的物件版本:

  • https://d111111abcdef8.cloudfront.net/images/image.jpg?color=red&size=large

  • https://d111111abcdef8.cloudfront.net/images/image.jpg?size=large&color=red

我們建議您一律以相同順序列出參數名稱,例如字母順序。

參數名稱和值請一律使用相同的大小寫

根據查詢字串參數快取時,CloudFront 考慮參數名稱和值的大小寫。在下列範例中,查詢字串完全相同,除了參數名稱和值的大小寫以外。這會造成 CloudFront 轉送四個個別的 image.jpg 請求到原始伺服器並快取四個個別的物件版本:

  • https://d111111abcdef8.cloudfront.net/images/image.jpg?color=red

  • https://d111111abcdef8.cloudfront.net/images/image.jpg?color=Red

  • https://d111111abcdef8.cloudfront.net/images/image.jpg?Color=red

  • https://d111111abcdef8.cloudfront.net/images/image.jpg?Color=Red

我們建議您為參數名稱和值使用一致的大小寫,例如全部小寫。

不使用與簽署 URL 衝突的參數名稱

如果您使用簽署 URL 來限制存取內容 (如果您新增可信任簽署者到分佈),在轉送 URL 的其他部分到原始伺服器之前,則 CloudFront 移除以下查詢字串參數:

  • Expires

  • Key-Pair-Id

  • Policy

  • Signature

如果您使用簽署 URL,且想要設定 CloudFront 將查詢字串轉送到原始伺服器,則無法命名自己的查詢字串參數為 ExpiresKey-Pair-IdPolicySignature

查詢字串參數和 CloudFront 標準記錄檔 (存取日誌)

如果您啟用記錄,則 CloudFront 會記錄完整的 URL,包括查詢字串參數。無論您是否已設定 CloudFront 將查詢字串轉送給原始伺服器,這都是如此。如需 CloudFront Front 記錄的詳細資訊,請參閱 標準記錄 (存取日誌)

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。