Range回源,指CDN節點在回源的HTTP請求裡面攜帶了Range資訊,來源站點在收到CDN節點的回源請求時,根據HTTP要求標頭中的Range資訊返回指定範圍的內容資料給CDN節點。Range回源可有效提高檔案分發效率,減少回源流量消耗和來源站點壓力,並且提升資源響應速度。
背景資訊
Range是HTTP要求標頭之一,可用來指定需擷取的內容的範圍。例如,Range: bytes=0-100表示回源請求該檔案的前101個位元組的資料內容。
開啟Range回源功能後,CDN收到使用者的請求時,如果CDN節點上未緩衝該資源或資源已到期,CDN節點回源會採用Range請求,從來源站點分段擷取使用者需要的部分資源並緩衝到CDN節點上。
開啟Range回源的工作原理如下圖所示:
注意事項
開啟Range回源有以下注意事項:
開啟Range回源前需確認來源站點是否支援Range請求,即HTTP要求標頭中包含Range欄位,並且來源站點能夠響應正確的206檔案分區。如果來源站點不支援Range請求,開啟Range回源可能導致緩衝異常或用戶端請求失敗。
Range回源是可選配置項,CDN控制台預設未開啟。
Multipart Ranges特性狀態預設關閉,開啟Range回源功能也不會同步開啟Multipart Ranges特性,請提交工單申請開啟Multipart Ranges特性。
開啟Range回源功能以後,會導致回源的QPS升高,如果來源站點有設定頻次控制功能,需要注意避免觸發來源站點的限流;規避辦法是通過DescribeL2VipsByDomain查詢CDN回源節點的IP地址 ,並且將CDN回源節點的IP加入來源站點的訪問IP白名單。
操作步驟
登入CDN控制台。
在左側導覽列,單擊域名管理。
在域名管理頁面,找到目標網域名稱,單擊操作列的管理。
在指定網域名稱的左側導覽列,單擊视频相关。
在Range回源地區,單擊修改配置。
根據下方的參數介紹,選擇不使用Range回源,跟隨客戶端Range請求或開啟Range回源(大檔案情境推薦配置)。
當選擇跟隨客戶端Range請求或者開啟Range回源(大檔案情境推薦配置)時,可以設定分區大小。分區大小預設為512 KB。
參數
選項
描述
樣本
Range回源
不使用Range回源
預設為不使用Range回源狀態,無論用戶端是否使用Range請求CDN節點,CDN節點回源時都會請求整個檔案,在大檔案情境下的檔案分發效率較低。
例如,用戶端向CDN節點發起的請求中含有
Range: bytes=0-100,則CDN節點向來源站點發起的請求中不會攜帶Range參數。來源站點會響應CDN節點完整檔案(假設完整檔案大小為10 MB,來源站點就會響應10 MB的檔案給CDN節點),CDN節點收到來源站點響應的檔案後,會將檔案快取下來,同時響應用戶端Range: bytes=0-100的內容。跟隨客戶端Range請求
開啟跟隨客戶端Range請求後,當用戶端使用Range請求CDN節點時,CDN節點才會採用Range請求回源。CDN節點第一次回源請求會按照使用者請求中的Range大小向上取整來請求使用者來源站點(此處的向上取整為分區大小的整數倍),後面全部按照使用者指定的分區大小來請求使用者來源站點。
例如,當分區大小為512 KB時,用戶端向CDN節點發起的請求中含有
Range:bytes=0-614399(即600 KB),CDN節點第一次回源請求會按照1024 KB回源(600 KB向上取整為1024 KB),後面全部按照512 KB的分區大小回使用者來源站點。開啟Range回源(大檔案情境推薦配置)
開啟Range回源(大檔案情境推薦配置)後,無論用戶端是否使用Range請求CDN節點,CDN節點都會採用Range請求回源。CDN節點的所有回源Range請求都按照使用者指定的分區大小來請求使用者來源站點。
無
分區大小
512 KB
1 MB
2 MB
4 MB
回源模式為跟隨客戶端Range請求或開啟Range回源(大檔案情境推薦配置)的情況下可以設定Range分區大小,預設按512 KB生效。
1 MB
規則條件
不使用:不使用規則條件。
選擇已配置的規則條件,新增或修改規則條件請參見規則引擎。
規則條件能夠對使用者請求中攜帶的各種參數資訊進行識別,以此來決定某個配置是否對該請求生效。
不使用
單擊確定,完成配置。