本文介紹阿里云CDN產品中涉及的基本概念,便于您更準確地理解和使用CDN產品。
源站
源站,指您運行業務的網站服務器,是加速分發數據的來源。
源站可用來處理和響應用戶請求,當節點沒有緩存用戶請求的內容時,節點會返回源站獲取資源數據并返回給用戶。阿里云CDN的源站可以是對象存儲OSS、函數計算、自有源站(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解析產品是云解析DNS。詳細信息,請參見云解析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節點回源時實際請求的域名。當源站服務器上提供多個域名服務時,您可根據業務需求指定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范圍內的數據。
在視頻點播、軟件下載等大文件內容分發場景下,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:服務器錯誤