基本概念 | 描述 |
|---|---|
Range | 在一个 HTTP 请求中,Range 请求头标识了被请求的资源分片范围。这样,支持 Range 请求的服务器会响应被请求的分片,而非整个资源文件。如:Range: bytes=0-100 表示请求该文件的前101个字节。 |
Range 回源 | 收到客户端的请求,如果边缘节点上未缓存资源或者缓存的资源已过期,回源节点会将请求转发到源站来获取资源。如果启用了 Range 回源功能,回源节点向源站发送请求时包含 Range 请求头,每次请求1M大小的文件分片。 |
启动 Range 回源功能前后,节点回源的对比情况如下所示。
Range 回源功能是否启用 | 节点发生回源时的静态请求 |
|---|---|
启用 | 按 1MB 分片回源。 |
关闭 | 遵循客户端的Range字段情况回源。
|
注意
对于动态请求,无论Range 回源功能是否启用,节点回源时将遵循客户端的Range字段情况回源。
源站在收到回源节点的回源请求时,根据 HTTP 请求头中的 Range 信息返回指定范围的数据给回源节点,减少回源流量消耗并提升源站对请求内容的响应速度,提高大文件分发效率。如果您的业务有此类需求,可以开启 Range 回源。
注意
在开启 Range 回源功能时,您需要确认源站已经支持 Range 请求,否则可能会导致回源失败。
您可以使用 curl来判断源站是否支持 Range 请求。使用如下命令:curl -r 0-499 -I <URL>。
说明
在上述命令中:
<URL>是被请求的资源。-r 0-499指定了请求内容的范围,表示请求内容的字节范围是从0到499。-I选项发送 HEAD 请求,以仅获取响应的头部信息而不下载整个资源。当运行上述命令后,您可查看源站返回的响应头信息,其中包含响应的状态码。
