技术小白如何给CDN配置Range回源

发现很多CDN都有Range回源功能,比如百度智能云CDN也有这个功能。

技术小白如何给CDN配置Range回源插图

看功能介绍开启此功能,有助于减少大文件分发时回源消耗并缩短响应时间,是一个不错的功能。

不过直接开启是没有效果的,此功能需源站支持Range请求。

主机吧对这方便技术小白,查了下,直接在nginx配置文件里加代码即可。

add_header Accept-Ranges bytes;
技术小白如何给CDN配置Range回源插图1

添加后,重启配置即可完成。

技术小白如何给CDN配置Range回源插图2

要怎么检查Range是否支持呢?

在linux下执行 curl -I http://app.zhujib.com/az.apk ,会返回响应结果

HTTP/1.1 200 OK
Date: Thu, 28 Apr 2022 08:31:44 GMT
Content-Type: application/octet-stream
Content-Length: 34849624
Connection: keep-alive
Server: openresty
Last-Modified: Thu, 07 Apr 2022 11:07:15 GMT
ETag: "624ec5e3-213c358"
X-CCDN-Origin-Time: 9
via: CHN-ZJshaoxing-AREACT1-CACHE38[116],CHN-ZJshaoxing-AREACT1-CACHE35[92,TCP_MISS,113],CHN-SH-GLOBAL1-CACHE163[82],CHN-SH-GLOBAL1-CACHE120[9,TCP_MISS,27]
x-hcs-proxy-type: 0
X-CCDN-CacheTTL: 2592000
Accept-Ranges: bytes

Response Header中包含俩个头字段:Accept-Ranges: bytes, Content-Length
Accept-Ranges: bytes,表示服务器对于这个文件接收Range范围的请求,远程服务器上使用的单位是字节。
Accept-Ranges: none ,表示不支持发送Rang 请求.

技术小白如何给CDN配置Range回源插图3

上图说明支持了,也可以直接访问网站源文件,F12,Network,查看HEADERS,显示有Accept-Ranges: bytes就表示支持了。

技术小白如何给CDN配置Range回源插图4

目前主机吧这边测试并没有任何有问题,服务器状态也良好,有问题的同学可以留言。

Range回源介绍:

CDN 为客户提供 Range 回源配置功能,Range 是 Http 请求头,用于文件指定部分的请求。如:Range: bytes=0-999 就是请求该文件的前 1000 个字节。开启Range回源功能,可以减少回源流量消耗,有效提高大文件分发效率,提升响应速度。

Range回源状态举例
开启若用户 A 请求资源: http://zhujib.com/test.png,节点收到请求后,在未命中节点缓存、缓存过期等情况下需要回源时,节点发起带 Range 的回源请求,分片获取资源,缓存并返回给用户。
关闭若用户 A 请求资源: http://www.zhujib.com/test.png,节点收到请求后,在未命中节点缓存、缓存过期等情况下需要回源时,节点发起不带 Range 的回源请求,缓存并返回给用户。此时,如果用户 A 的请求带有 Range,可能会有回源放大和响应慢的问题。回源放大:比如用户 A 请求 7-8M 的资源,节点回源会放大到整个资源。响应慢:比如用户 A 请求 7-8M 的资源,节点回源需要先获取 0-7M 的数据之后,才能给客户响应 body 内容。

给TA打赏
共{{data.count}}人
人已打赏
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
在线客服
主机帮
我们将24小时内回复。
2024-12-11 23:25:03
您好,有任何疑问请与我们联系!
您的工单我们已经收到,我们将会尽快跟您联系!
[QQ客服]
176363189
当幸福来敲门
[小黄]
17307799197
[企业邮箱]
sudu@yunjiasu.cc
取消

选择聊天工具: