在 Azure CDN 中壓縮檔案以改善效能 \(機器翻譯\)
重要
Azure CDN Standard from Microsoft (classic) 將於 2027 年 9 月 30 日淘汰。 為了避免任何服務中斷,請務必在 2027 年 9 月 30 日之前,移轉您的 Azure CDN Standard from Microsoft (classic) 設定檔至 Azure Front Door Standard 或 Premium 層。 如需詳細資訊,請參閱 Azure CDN Standard from Microsoft (classic) 淘汰。
來自 Edgio 的 Azure CDN 將於 2025 年 11 月 4 日淘汰。 您必須在此 日期之前將工作負載 移轉至 Azure Front Door,以避免服務中斷。 如需詳細資訊,請參閱來自Edgio的 Azure CDN 淘汰常見問題。
檔案壓縮是簡單且有效的方法,可提升檔案傳輸速度,並且在檔案從伺服器傳送出去之前先減少其大小,以增加頁面載入效能。 檔案壓縮可降低頻寬成本,並提供回應速度更快的體驗給使用者。
有兩種方式可啟用檔案壓縮︰
- 在原始伺服器上啟用壓縮。 在此情況下,Azure CDN 會傳遞壓縮的檔案,遞交給提出要求的用戶端。
- 直接在 CDN POP 伺服器上啟用壓縮 (動態壓縮)。 在此情況下,CDN 會壓縮檔案並將其提供給終端使用者,即使原始伺服器未壓縮這些檔案也是如此。
重要
Azure 內容傳遞網路設定變更會需要一些時間才能傳播至整個網路:
- 若為來自 Microsoft 的標準 Azure CDN 設定檔,通常會在 10 分鐘內完成傳播。
- 若為來自 Edgio 的標準 Azure CDN 和 來自 Edgio 的進階 Azure CDN 設定檔,通常會在 10 分鐘內完成傳播。
如果這是您第一次設定 CDN 端點壓縮,請先等候 1-2 小時再進行疑難排解,確定壓縮設定已傳播至 POP。
啟用壓縮
標準和高階 CDN 層提供相同的壓縮功能,但兩者的使用者介面不同。 如需有關標準和高階 CDN 層之間差異的詳細資訊,請參閱 Azure CDN 概觀。
標準 CDN 設定檔
注意
本節適用於來自 Microsoft 的 Azure CDN 標準和來自 Edgio 的 Azure CDN 標準設定檔。
從 CDN 設定檔頁面選取您想要管理的 CDN 端點。
隨即開啟 [CDN 端點] 頁面。
選取 [壓縮]。
壓縮頁面隨即開啟。
選取 [開啟] 以開啟壓縮。
請使用預設的 MIME 類型,或是新增或移除 MIME 類型以修改清單。
提示
即使可行,我們依然不建議對壓縮格式套用壓縮。 例如,ZIP、MP3、MP4 或 JPG。
完成變更之後,請選取 [儲存]。
進階 CDN 設定檔
注意
本節僅適用於來自 Edgio 的 Azure CDN 進階設定檔。
從 CDN 設定檔頁面選取 [管理]。
隨即開啟 CDN 管理入口網站。
將滑鼠移至 [HTTP 大型] 索引標籤上,然後將滑鼠移至 [快取設定] 飛出視窗上。 選取 [壓縮]。
壓縮選項隨即顯示。
選取 [啟用壓縮] 以啟用壓縮。 在 [檔案類型] 方塊中,輸入您想要壓縮成逗號分隔清單 (無空格) 的 MIME 類型。
提示
即使可行,我們依然不建議對壓縮格式套用壓縮。 例如,ZIP、MP3、MP4 或 JPG。
完成變更之後,請選取 [更新]。
壓縮規則
來自 Microsoft 的標準 Azure CDN
如果是來自 Microsoft 的標準 Azure CDN 設定檔,只會壓縮符合資格的檔案。 若要符合壓縮,檔案必須︰
- 為已設定壓縮的 MIME 類型
- 來源回應中只有 "identity" Content-Encoding 標頭
- 大於 1 KB
- 小於 8 MB
這些設定檔支援下列壓縮編碼:
- gzip (GNU zip)
- brotli
如果該要求支援多種壓縮類型,優先使用 brotli 壓縮。
當資產的要求指定 gzip 壓縮且快取中的要求結果遺失時,Azure CDN 會在原始伺服器上對資產執行 gzip 壓縮。 之後會從快取提供壓縮的檔案。
如果原點使用區塊傳輸編碼 (CTE) 將資料傳送至 CDN POP,則不支援壓縮。
來自 Edgio 設定檔的 Azure CDN
若為來自 Edgio 的標準 Azure CDN 和來自 Edgio 的進階 Azure CDN 設定檔,只會壓縮合格的檔案。 若要符合壓縮,檔案必須︰
- 超過 128 個位元組
- 小於 3 MB
這些設定檔支援下列壓縮編碼:
- gzip (GNU zip)
- DEFLATE
- bzip2
- brotli
當 HTTP 要求含標頭 Accept-Encoding: br
時,CDN 會以未壓縮的回應加以回應。
壓縮行為資料表
下列資料表描述每個案例的 Azure CDN 壓縮行為:
已停用壓縮或檔案不適合進行壓縮
用戶端要求的格式 (透過 Accept-Encoding 標頭) | 快取的檔案格式 | CDN 對用戶端的回應 | 注意 |
---|---|---|---|
Compressed | Compressed | Compressed | |
Compressed | 未壓縮 | 未壓縮 | |
Compressed | 不快取 | 已壓縮或未壓縮 | 原點回應可判斷 CDN 是否執行壓縮。 |
未壓縮 | Compressed | 未壓縮 | |
未壓縮 | 未壓縮 | 未壓縮 | |
未壓縮 | 不快取 | 未壓縮 |
已啟用壓縮且檔案適合進行壓縮
用戶端要求的格式 (透過 Accept-Encoding 標頭) | 快取的檔案格式 | CDN 對用戶端的回應 | 備註 |
---|---|---|---|
Compressed | Compressed | Compressed | 支援格式之間的 CDN 轉碼。 來自 Microsoft 的 Azure CDN 不支援在格式之間轉碼,而是改為從原始來源擷取資料,並針對格式個別壓縮和快取。 |
Compressed | 未壓縮 | Compressed | CDN 執行壓縮。 |
Compressed | 不快取 | Compressed | 如果原點傳回未壓縮的檔案,則 CDN 會執行壓縮。 來自 Edgio 的 Azure CDN 會傳遞第一次要求中的未壓縮檔案,然後壓縮及快取檔案以供後續要求之需。 具有 Cache-Control: no-cache 標頭的檔案永遠不會經過壓縮。 |
未壓縮 | Compressed | 未壓縮 | CDN 執行解壓縮。 來自 Microsoft 的 Azure CDN 不支援解壓縮,而是改為從原始來源擷取資料,並針對未壓縮的用戶端個別擷取。 |
未壓縮 | 未壓縮 | 未壓縮 | |
未壓縮 | 不快取 | 未壓縮 |
媒體服務 CDN 壓縮
對於啟用媒體服務 CDN 串流的端點來說,預設會針對下列 MIME 類型啟用壓縮:
- application/vnd.ms-sstr+XML
- application/dash+XML
- application/vnd.Apple.mpegurl
- application/f4m+XML