基本概念

本文介绍阿里云CDN产品中涉及的基本概念,便于您更准确地理解和使用CDN产品。

源站

源站,指您运行业务的网站服务器,是加速分发数据的来源。

源站可用来处理和响应用户请求,当节点没有缓存用户请求的内容时,节点会返回源站获取资源数据并返回给用户。阿里云CDN的源站可以是对象存储OSS、函数计算、自有源站(IP、源站域名)。

节点

节点,指与最终接入的用户之间具有较少中间环节的网络节点,对最终接入用户有相对于源站而言更好的响应能力和连接速度。

加速域名

加速域名,是您接入CDN用于加速、终端用户实际访问的域名。例如,您将域名aliyundoc.com接入阿里云CDNaliyundoc.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:服务器错误