使用 POST 方法分块发送文件时,使用 HTTP Content-Range 标头是否合适?

发布于 2024-12-05 00:08:54 字数 192 浏览 1 评论 0原文

我正在开发一个现有的 Silverlight 文件上传器,它将文件分成多个块并使用多个 HTTP 请求传输文件。

目前,它发送查询字符串的起始字节和总字节信息,但作为学习练习,我想使用更基于标准的方法。

我之前在实现提供内容的端点时使用过 HTTP Content-Range 标头。当将内容从客户端发布到服务器时,此标头是否也适合使用?

I am working on an existing Silverlight file uploader that breaks files into multiple chunks and transmits the file using multiple HTTP requests.

Currently, it sends the start and total byte information on the querystring, but as learning exercise, I'd like to use a more standards-based approach.

I've previously used the HTTP Content-Range header when implementing an endpoint that serves content. Is this header also appropriate to use when posting content from a client to the server?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

以为你会在 2024-12-12 00:08:54

是的。

RFC 2616 (HTTP 1.1),第 14 节 开头指出:

对于实体标头字段,发送者和接收者都指的是
客户端或服务器,取决于谁发送和谁接收
实体。

除此之外,第 14.16 节,定义了内容-范围标头似乎不包含任何限制其在请求或响应中使用的语言。

Yes.

RFC 2616 (HTTP 1.1), Section 14 begins by stating:

For entity-header fields, both sender and recipient refer to either
the client or the server, depending on who sends and who receives the
entity.

Other than that, Section 14.16, which defines the Content-Range header, does not appear to contain any language limiting its use to either the request or response.

云醉月微眠 2024-12-12 00:08:54

可能不会,至少截至 2014 年(原始答案来自 2011 年)。

更新后的 HTTP 1.1 规范,rfc7231 (4.3.3) ,关于有效 POST 响应的说明如下:

源服务器通过选择一个来指示响应语义
适当的状态代码取决于处理的结果
POST 请求;几乎所有的状态码都是由这个定义的
规范可能会在对 POST 的响应中收到(例外情况
为 206(部分内容)、304(未修改)和 416(范围未修改)
满意))。

鉴于这种语言已明确添加到更新的规范中,我怀疑作者是否打算将 Content-Range 标头与 POST 方法一起使用。

Probably not, at least as of 2014 (the original answer is from 2011).

The updated HTTP 1.1 specification, rfc7231 (4.3.3), says the following about valid POST responses:

An origin server indicates response semantics by choosing an
appropriate status code depending on the result of processing the
POST request; almost all of the status codes defined by this
specification might be received in a response to POST (the exceptions
being 206 (Partial Content), 304 (Not Modified), and 416 (Range Not
Satisfiable)
).

Given that this language was explicitly added to the updated spec, I doubt the authors intended that the Content-Range header be used with the POST method.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文