You need to enable JavaScript to run this app.
导航
Multi Range
最近更新时间:2024.12.11 10:48:00首次发布时间:2024.12.11 10:48:00

本文档介绍CDN加速服务对用户请求中多重范围(multi-range) 的支持。

概述

在 HTTP 请求中,您可以在 Range 头部中指定获取请求文件的多个分片。例如,Range 头部可以是 Range: bytes=0-50, 30-80

CDN加速服务对 multi-range 的支持

默认情况下,CDN加速服务不支持 multi-range。当收到一个 multi-range 的请求时,CDN加速服务会响应 416 状态码。要使CDN加速服务支持 multi-range,您可以在CDN加速服务中启用该特性。

说明

Multi-range 启用后,如果用户请求中的任何一个分片与请求文件没有交集,CDN加速服务不会返回任何分片。响应状态码是 416。

示例:您站点上的一个文件的大小是 100 字节。CDN加速服务收到该文件一个 multi-range 的请求,Range 头部值是 bytes=0-30, 200-300。在这个情况下,CDN加速服务不会返回任何分片。

前提条件

您已经添加域名到CDN加速服务。相关操作,请参见添加域名

操作步骤

  1. 登录多云CDN控制台

  2. 在左侧导航栏,单击 CDN加速
  3. 在CDN加速域名列表找到您的域名,单击域名名称。
  4. 在域名页面,单击 缓存配置 标签页。
  5. 在页面右上方,单击 编辑配置
  6. 在 Multi Range 区域,设置 状态 为启用。
  7. 在页面右上方,单击 提交编辑

alt

更多信息

CDN加速服务对 multi-range 请求的响应

如果请求成功,CDN加速服务会返回 206 响应状态码,并且响应中包含以下头部 Content-Type: multipart/byteranges; boundary=xxxxxxxxxxxxx。响应正文中会包含所有请求的分片,每个分片有自己的 Content-TypeContent-Range 头部,并且是以 boundary 头部的值分隔的。

说明

在响应正文中,第一个分片前没有空行。参见下方的响应示例。

请求示例

curl http://www.example.copm/ -v -H "Range: bytes=0-10, 20-50"

响应示例

响应头

HTTP/1.1 206 Partial Content
Server: Byte-nginx
Content-Type: multipart/byteranges; boundary=cfdc7e2afe8
Content-Length: 357

响应正文

--cfdc7e2afe8
Content-Range: bytes 0-10/612
Content-Type: text/html

<!DOCTYPE h
--cfdc7e2afe8--
Content-Range: bytes 20-50/612
Content-Type: text/html

l>
<head>
<title>Welcome to ngi
--cfdc7e2afe8--