实体列表的 HTTP 范围 header

标签 http rest entity range

我有这样的资源

/entities        # GET, POST
/entities/<id>   # GET, PUT, DELETE

GET/entities 获取所有实体的列表。 现在我想轮询更新。单个实体的情况很简单:

GET /entities/2
If-Modified-Since: <http date>

这个列表很棘手。我希望响应是自给定时间点以来更新或创建的实体列表。我会直觉地使用

GET /entities
Range: after <http date>

这是 HTTP 规范的有效请求 http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.2 .但该规范还要求 206 Partial Content 响应,其中必须包含 Content-Range header 。 Content-Range header 反过来要求指定一个字节范围 http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.16 .这对我的用例来说显然非常不方便。

您将如何通过 HTTP 请求语义范围?

最佳答案

来自阅读部分14.35.1 ,我会说 Range header 用于从资源请求特定范围的字节,而不是根据修改时间请求一组实体。

在这种情况下,我认为您应该将范围视为过滤器并将日期作为查询字符串参数传递:

GET /entities?modified-since=<date>

关于实体列表的 HTTP 范围 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7868743/

相关文章:

asp.net-mvc - dropzonejs 多文件上传无法按预期工作

java - 在 Java servlet 中,cookie.getMaxAge() 始终返回 -1

iphone - Foursquare无用户搜索iOS

java - Jersey REST 扩展方法

scala - Akka-Http 中的实体是什么?

ruby-on-rails - 下载大文件(~40MB)并使用回形针另存为附件

c# - HttpWebRequest 的前两次写入几乎立即发生,为什么?

java - Resteasy MessageBodyReader 错误信息

ios - CoreData 获取实体

database - PostgreSQL JPA 级联部分工作