📜  HTTP 标头 |接受范围(1)

📅  最后修改于: 2023-12-03 15:01:19.771000             🧑  作者: Mango

HTTP 标头 | 接受范围

在 HTTP 请求头中,可以使用“接受范围”(Accept-Ranges)这个字段来告诉服务器哪些范围的数据是客户端可以接受的。这个标头通常用于支持断点续传和分块下载。

语法

接受范围的语法如下所示:

Accept-Ranges: 范围单位

范围单位指的是服务器可以对哪些范围进行处理。通常有以下两种范围单位:

  • bytes:表示服务器可以处理字节范围请求。
  • none:表示服务器不支持 HTTP/1.1 中定义的 Range 请求。在这种情况下,如果客户端发送了范围请求,服务器应该返回状态码为 200 的完整响应,否则返回状态码为 501。
用法示例

以下是一个示例请求头,其中指定客户端可以接受字节范围请求:

GET /example.pdf HTTP/1.1
Host: example.com
Accept-Ranges: bytes

在服务器返回响应时,如果可以处理范围请求,就可以使用“Content-Range”标头来指定响应的范围。例如,以下是一个响应头,其中指定了服务器返回的是 PDF 文件的前 1024 字节:

HTTP/1.1 206 Partial Content
Content-Range: bytes 0-1023/20000
Content-Length: 1024

注意,如果服务器不支持范围请求,或者客户端发送了一个无效的范围请求,那么服务器就不应该使用 Content-Range 标头。

参考文献
  • RFC 7233: https://tools.ietf.org/html/rfc7233