CouchDB 是不是支持附件 PUT 请求中的 Content-Range?

Posted

技术标签:

【中文标题】CouchDB 是不是支持附件 PUT 请求中的 Content-Range?【英文标题】:Does CouchDB suppport Content-Range in attachment PUT requests?CouchDB 是否支持附件 PUT 请求中的 Content-Range? 【发布时间】:2015-03-24 08:46:30 【问题描述】:

我想使用 CouchDB 来保存一些日志(不要问为什么;-))并且我想使用 CouchDB 的attachment feature。需要注意的是,我有很多日志,但是每个日志都比较小,我不希望它们中的任何一个超过 1Mb(通常它们更多在几 Kb 范围内)。

AFAICS 我有几个选择:

    我可以在服务器端累积日志,然后将整个日志作为附件一次性推送到服务器,但这意味着它们不会立即可用:-( 我可以定期推送日志,但为了更新它们,我需要再次下载它们,将更多信息附加到它们并将它们推送回 CouchDB

我对这两种解决方案都不满意,尽管这可能使我想到第三种选择(以及我的问题)。

对于 GET 请求,CouchDB clearly 支持 (Content-)Range 标头(根据RFC 2616,这似乎不是标准标头)。 RFC 2616 也没有将 Content-Range 限制为仅 GET 请求(这个意见似乎是shared with others)。

所以问题是 CouchDB 是否也支持 PUT 请求。在这种情况下,我可以附加到非常适合我的用例的附件 :-)

【问题讨论】:

【参考方案1】:

CouchDB 开发人员在这里。 PUT 上的范围不是一个功能,但完全可以作为一个很好的补充。你愿意打开一个问题吗? https://issues.apache.org/jira/browse/COUCHDB

此外,这将是一个很棒的第一个补丁,也是学习一些 Erlang 的好借口(@98​​7654322@ 开始使用)。

【讨论】:

是个好主意,但我得到了以下回复:“这已经被提出过。不幸的是,规范已经澄清这是不允许的;rfc 7231” 啊太糟糕了,也许我们可以用 PATCH 解决问题,就像问题中提到的那样

以上是关于CouchDB 是不是支持附件 PUT 请求中的 Content-Range?的主要内容,如果未能解决你的问题,请参考以下文章

在 CouchDB 上进行预检的 CORS 请求

从 CouchDB 提供静态 HTML

couchdb:更新带有附件的文档上的元数据?

将附件上载到CouchDb

CouchDB学习-介绍

为啥浏览器不支持 PUT 和 DELETE 请求,啥时候支持?