内容范围标头 - 允许的单位?

Jak*_*ski 5 api rest http

这与: 我应该如何在 RESTful Web 服务中实现 COUNT 动词?在 Rest 集合中进行分页 以及使用带有除字节之外的范围说明符的 HTTP 范围标头?

实际上我认为这里的 -1 评级 anwser 是正确的/sf/answers/100429101/

一般来说,答案说您可以使用引用 sec 3.12 的自定义单位

  range-unit       = bytes-unit | other-range-unit
  bytes-unit       = "bytes"
  other-range-unit = token
Run Code Online (Sandbox Code Playgroud)

然而,当您阅读 HTTP 规范时,请注意生产规则如下:

   Content-Range = "Content-Range" ":" content-range-spec
   content-range-spec      = byte-content-range-spec
   byte-content-range-spec = bytes-unit SP
                             byte-range-resp-spec "/"
                             ( instance-length | "*" )
Run Code Online (Sandbox Code Playgroud)

标头规范仅引用第 3.12 节中的字节单位,而不是范围单位,因此我认为实际上在这里使用自定义单位是违反规范的。

我错过了什么还是流行的答案错了?

编辑:由于这可能不清楚,我的问题的要点是:rfc2616 sec14.16 仅引用字节单位。它从未提及范围单元,因此范围单元的生成与内容范围无关,因此只能使用字节单元。

我认为这最好地解决了我的担忧,尽管我需要一些时间来理解它(而且我想确保措辞有问题)。

这反映了这样一个事实:显然,第一组语法规则是专门用于解析的,第二组是用于生成 HTTP 请求的

感谢埃尔加顿

Jul*_*hke 3

修订后的规范允许自定义范围单位。请参阅HTTPbis 第 5 部分第 2 节