【发布时间】:2023-03-03 03:51:01
【问题描述】:
我搜索了很多,但我找不到这个问题的好答案。 作为一个 HATEOAS 爱好者,我认为这个标题非常适合:
Range: item=1-20/100
在 HTTP 规范中,我不理解一些“矛盾”: 范围单位可以接受“其他范围单位”...
range-unit = bytes-unit | other-range-unit
bytes-unit = "bytes"
other-range-unit = token
...但规范稍后是明确的:
HTTP/1.1 定义的唯一范围单位是“字节”。 HTTP/1.1 实现可以忽略使用其他单位指定的范围。
最后,规范以这样的声明结束:
HTTP/1.1 旨在允许实施不依赖于范围知识的应用程序。
- 是否允许除字节之外的任何其他单位?
- 如果 HTTP/1.1 旨在允许应用不依赖范围,那么依赖它作为 API 的真正缺点是什么?
注意:我不关心“可浏览性”。
【问题讨论】:
-
您在标题中提出的问题通过规范中的信息自行回答:因为在大多数情况下,“字节”不是用于分页的可用度量单位。并且由于其他范围单位可能会被忽略,以及通常的范围,它只是不适用于任何应该可以通过符合规范的 any HTTP 实现访问的 API。跨度>
标签: api http rest pagination hateoas