本文介紹阿里雲CDN產品中涉及的基本概念,便於您更準確地理解和使用CDN產品。
來源站點
來源站點,指您運行業務的網站伺服器,是加速分發資料的來源。
來源站點可用來處理和響應使用者請求,當節點沒有緩衝使用者請求的內容時,節點會返回來源站點擷取資源資料並返回給使用者。阿里雲CDN的來源站點可以是Object Storage Service、Function Compute、自有來源站點(IP、來源站點網域名稱)。
節點
節點,指與最終接入的使用者之間具有較少中間環節的網路節點,對最終接入使用者有相對於來源站點而言更好的響應能力和連線速度。
加速網域名稱
加速網域名稱,是您接入CDN用於加速、終端使用者實際訪問的網域名稱。例如,您將網域名稱aliyundoc.com
接入阿里雲CDN,aliyundoc.com
即為加速網域名稱。
阿里雲CDN通過加速網域名稱,將來源站點資源緩衝到CDN加速節點,實現資源訪問加速。在阿里雲CDN的協助文檔中,加速網域名稱通常被簡寫為網域名稱。
網域名稱(Domain Name)又稱網域,是由一串用點分隔的名字組成的Internet上某一台電腦或電腦群組的名稱,用於在資料轉送時標識電腦的電子方位(有時也指地理位置)。
CNAME記錄/CNAME網域名稱
CNAME(Canonical Name)記錄,指網域名稱解析中的別名記錄,用來把一個網域名稱解析到另一個網域名稱(CNAME網域名稱),再由CNAME網域名稱來解析到需要訪問的伺服器IP地址。
CNAME網域名稱,是CDN產生的,當您在阿里雲CDN控制台添加加速網域名稱後,系統會為加速網域名稱分配一個*.*kunlun*.com
形式的CNAME網域名稱。
阿里雲CDN產品通過分布廣泛的CDN節點來為終端使用者提供加速服務,不同地區或者不同電訊廠商的使用者訪問到的CDN節點IP地址是不同的,因此加速網域名稱就無法通過DNS的A記錄解析的方式唯一解析到某個IP地址,這個時候就引入了CNAME網域名稱。
添加加速網域名稱後,您需要在您的DNS解析服務位址,添加一條CNAME記錄,將加速網域名稱唯一解析到CNAME網域名稱,記錄生效後網域名稱解析就正式轉向CDN服務,該網域名稱所有的請求都將轉向CDN的節點,達到加速效果。CNAME網域名稱將會解析到具體哪個CDN節點IP地址,將由CDN的調度系統來綜合地區、電訊廠商、節點資源水位等多個條件來決定。
靜態內容(靜態資源)
靜態內容是指使用者多次請求某一資源,響應返回的資料都是相同的內容。例如圖片、視頻、網站中的檔案(HTML、CSS、JS)、軟體安裝包、APK檔案、壓縮包檔案等。
CDN通過加速網域名稱將來源站點的靜態資源緩衝到CDN遍布全球的加速節點上,供使用者就近訪問,實現資源訪問加速。
動態內容(動態資源)
動態內容是指使用者多次請求某一資源,響應返回的資料可能是不同的內容。例如網站中的檔案(ASP、JSP、PHP、PERL、CGI)、API介面、資料庫互動請求等。
如果希望對動態內容有更好的加速效果,可以使用阿里雲全站加速產品。詳細說明,請參見什麼是DCDN。
DNS/網域名稱解析
DNS(Domain Name System)即網域名稱解析服務,主要功能是將網域名稱解析為網路可以識別的IP地址,即網域名稱解析。人們習慣記憶網域名稱,但機器間互相只識別IP地址。
網域名稱解析需要由專門的DNS伺服器來完成,整個過程自動進行。例如,您上網時輸入欄位名aliyundoc.com
會自動轉換成10.10.10.10(舉例說明,具體IP以實際為準)。
阿里雲的DNS解析產品是Alibaba Cloud DNS。詳細資料,請參見Alibaba Cloud DNS。
SSL/TLS
SSL(Secure Sockets Layer)即安全套接層協議,SSL協議位於TCP/IP協議與各種應用程式層協議之間,可以有效協助Internet上的應用軟體提升通訊時的資料完整性及安全性。IETF將SSL標準化後名稱被改為TLS(Transport Layer Security),即傳輸層安全性通訊協定,因此通常將兩者並稱為SSL/TLS。
DNS時間
DNS時間指從瀏覽器終端發起的訪問請求開始,到瀏覽器終端獲得最終訪問主機IP地址所消耗的時間。
TCP時間
TCP時間指用戶端與目標伺服器建立TCP串連所消耗的時間。
SSL時間
SSL時間指用戶端和Web伺服器建立安全套接層(SSL)串連的消耗時間。
發送時間
發送時間指SSL握手完成開始發送請求到請求發送完成所消耗的時間。
建立連線時間
建立連線時間簡稱為建連時間,如果CDN節點使用HTTP協議加速客戶業務,建連時間包含“DNS時間+TCP時間”;如果CDN節點使用HTTPS協議加速客戶業務,建連時間包含“DNS時間+TCP時間+SSL時間”。建立串連的時間長短,可以反映CDN服務的節點資源覆蓋的豐富程度以及調度能力。
回應時間
回應時間指瀏覽器發出HTTP請求後,Web伺服器進行幕後處理以及響應的時間。
下載用時
下載用時指您收到Web伺服器返回的第一個資料包,到完成下載的總時間。
首包時間
首包時間指從用戶端開始發送請求到收到伺服器端返回的第一個HTTP協議資料包之間所需要的時間,首包時間可以反映出CDN服務節點的整體效能。
在上傳和下載路徑中,首包時間主要包含了DNS解析時間、TCP用時、SSL用時、發送時間和回應時間。
剛購買的網域名稱,通常解析時間較長,和CDN的緩衝時間無關。
首播時間
首播時間指從開啟視頻到看到視頻畫面的時間,通常會受網域名稱解析、連線時間和首包時間的影響。首播時間越短,效能越好。
卡頓率
卡頓率指每100個使用者裡面播放出現卡頓比例(視音頻播放、資源載入等情境下出現的畫面滯幀)。卡頓率越低,效能越好。
丟包率
丟包率指在網路傳輸中遺失資料包的數量占發送資料包總數的比率。
整體效能
整體效能指完成整個檔案的上傳或下載所需要的總時間長度。
回源
當使用者通過瀏覽器發送請求時,如果CDN節點未緩衝請求的資源或緩衝資源已到期,此時會回來源站點擷取資源並返回給使用者,該過程被稱為回源。
回源HOST
回源HOST,即CDN節點回源時實際請求的網域名稱。當來源站點伺服器上提供多個網域名稱服務 (DNS)時,您可根據業務需求指定CDN節點回源時在訪問的具體網域名稱。具體配置,可參見配置預設回源HOST。
例如,您期望CDN回源時實際請求的地址為aliyundoc.com
,與加速網域名稱www.aliyundoc.com
不同,那麼您需要配置回源HOST為aliyundoc.com
。
回源協議
回源協議,指CDN節點回源時使用的協議,有可能與用戶端訪問資源時使用的協議相同,也有可能不相同。例如,當用戶端使用HTTPS方式請求未緩衝在CDN節點上的資源時,可以配置CDN節點使用HTTPS協議回來源站點擷取資源,也可以配置使用HTTP協議回源(來源站點不支援HTTPS協議的情況下)。具體配置,可參見配置回源協議。
回源率
回源率分為回源請求數比例及回源流量比例兩種:
回源請求數比:指CDN節點(包括邊緣節點和匯聚節點)對於沒有緩衝、緩衝到期(可緩衝)和不可快取的請求佔全部請求的比例。回源請求數比=CDN節點回源請求數÷使用者訪問CDN節點的總請求數,通常越低則效能越好(如果CDN回源做了分區,但是使用者訪問CDN沒有分區,那麼會出現CDN節點回源請求數遠大於使用者訪問CDN的請求數的情況)。
回源流量比:回源流量指的是CDN節點回源拉取資源的過程中來源站點響應給CDN節點的所有流量。回源流量比=來源站點響應給CDN節點的總位元組數÷CDN節點響應給使用者的總位元組數,比值越低,效能越好。
回源SNI
SNI(Server Name Indication)是對SSL/TLS協議的擴充,可用來解決一個HTTPS伺服器(同一個IP地址)擁有多個網域名稱,但是無法確定用戶端到底請求的是哪一個網域名稱的服務的問題。
當您的來源站點IP綁定了多個網域名稱,且CDN回源協議為HTTPS時,可通過配置回源SNI,來指明用戶端從哪個網域名稱擷取資源,伺服器會根據配置的SNI資訊返回正確的認證給用戶端。具體操作,可參見配置回源SNI。
Range回源
Range回源,指CDN節點在回源的HTTP請求裡面攜帶了Range資訊,來源站點在收到CDN節點的回源請求時,根據HTTP要求標頭中的Range資訊返回指定範圍的內容資料給CDN節點,例如只返回某個檔案的0-100Byte範圍內的資料。
在ApsaraVideo for VOD、軟體下載等大檔案內容分發情境下,Range回源可有效提高檔案分發效率,可以提高快取命中率,減少回源流量消耗和來源站點壓力,並且提升資源響應速度。具體操作,可參見配置Range回源。
Range是HTTP要求標頭之一,可用來指定需擷取的內容的範圍。
回源302跟隨
回源302跟隨,指阿里雲CDN節點代替用戶端直接處理來源站點響應的302狀態代碼的內容,可減少處理流程,加快擷取資源的速度。
Referer防盜鏈
Referer防盜鏈,是基於HTTP要求標頭中Referer欄位(例如,Referer黑白名單)來設定存取控制規則,實現對訪客的身份識別和過濾,防止網站資源被非法盜用。配置Referer黑白名單後,CDN會根據名單識別請求身份,允許或拒絕訪問請求。具體配置,請參見配置Referer防盜鏈。
Referer是HTTP要求標頭的一部分,攜帶了HTTP請求的來源地址資訊(協議+網域名稱+查詢參數),可用於識別請求的來源。
頻寬封頂
頻寬封頂,指通過設定頻寬上限,來控制頻寬用量,減少因突發流量導致的損失。
當指定加速網域名稱在統計周期(1分鐘)內產生的平均頻寬超出預設上限,CDN將停止為該網域名稱提供加速服務,且該網域名稱會自動下線,並被解析到無效地址offline.***.com
,無法被繼續訪問。具體配置,請參見配置頻寬封頂。
緩衝到期時間
緩衝到期時間,指資源在CDN節點上緩衝的時間長度。資源到期後會自動從CDN節點刪除,使用者向CDN節點發起的訪問請求會被判定為未命中緩衝,CDN節點會自動回來源站點擷取最新資源返回給使用者,並緩衝到CDN節點。具體配置,請參見配置緩衝到期時間。
快取命中率
CDN快取命中率包括位元組命中率和請求命中率,快取命中率越高,效能越好。
位元組命中率=(CDN節點響應使用者的總位元組數-來源站點響應CDN節點的總位元組數)÷CDN節點響應使用者的總位元組數。
說明位元組快取命中率越低,回源流量越大,來源站點的流出流量越大,來源站點的頻寬資源以及其他的負載越大,因此回源流量代表了來源站點伺服器接收到的負載壓力,在業務使用中主要關心位元組快取命中率。
請求命中率=(使用者訪問CDN節點的總請求數-CDN節點回源請求數)÷使用者訪問CDN節點的總請求數。
跨域資源共用(CORS)
跨域資源共用(CORS),是一種基於HTTP頭的存取控制機制,允許Web伺服器聲明哪些來源站點(指定的網域名稱、協議、連接埠)有許可權通過瀏覽器訪問指定資源。具體配置方法,請參見配置跨域資源共用。
邊緣指令碼
邊緣指令碼(EdgeScript,簡稱ES)是一個可供您快速實現CDN定製配置的工具箱,當CDN控制台上的標準配置無法滿足您的業務需求時,可以使用邊緣指令碼通過簡單地編程實現定製化業務需求。
邊緣程式
邊緣程式(EdgeRoutine,簡稱ER)是一個運行在阿里雲全球邊緣節點上的JavaScript代碼運行環境,支援ES6文法和標準的Web Service Worker API。您可以將自行開發的JavaScript代碼發布至全球邊緣程式運行,在全球邊緣節點上就近地處理用戶端的請求。
HSTS
HSTS(HTTP Strict Transport Security,HTTP 嚴格傳輸安全),是一種網站用來聲明他們只能使用安全連線(HTTPS)訪問的方法。網站可通過聲明HSTS,來強制用戶端(如瀏覽器)只能使用HTTPS與伺服器串連,拒絕所有的HTTP串連並阻止使用者接受不安全的SSL認證,降低第一次訪問請求被攔截的風險。具體配置方法,請參見配置HSTS。
例如,未開啟HSTS的情況下,當您來源站點使用HTTPS請求時,在瀏覽器輸入HTTP連結,使用者請求訪問到伺服器上的時候,伺服器會將該HTTP請求301或302重新導向到HTTPS,在使用者請求以HTTP協議訪問伺服器的過程中,HTTP請求可能被惡意攔截或者篡改,存在安全隱患。開啟了HSTS以後,用戶端只能使用HTTPS協議訪問伺服器,這樣就可以杜絕這類隱患。
QUIC
QUIC(Quick UDP Internet Connections)是一個基於UDP的通用網路通訊協定,能夠保障網路安全性(與TLS/SSL相當),同時具有更低的串連和傳輸延時,有效避免網路堵塞,在丟包和網路延遲嚴重的情況下仍可提供可用的服務。
QUIC在應用程式層面就能實現不同的擁塞控制演算法,不需要作業系統和核心支援,相比於傳統的TCP協議,擁有更好的改造靈活性,非常適合在TCP協議最佳化遇到瓶頸的業務。
HTTP狀態代碼
HTTP狀態代碼(英文:HTTP Status Code),是用來表示HTTP響應狀態的數字代碼,可用來判斷和分析伺服器的運行狀態。當用戶端(例如瀏覽器)向伺服器發出請求時,伺服器會返回一個包含HTTP狀態代碼的資訊頭來響應用戶端的請求,通過狀態代碼告訴用戶端當前請求響應的狀態。
HTTP常見狀態代碼分類:
1xx:訊息
2xx:成功
3xx:重新導向
4xx:用戶端錯誤
5xx:伺服器錯誤