我正在开发一个现有的 Silverlight 文件上传器,它将文件分成多个块并使用多个 HTTP 请求传输文件。
目前,它在查询字符串上发送开始和总字节信息,但作为学习练习,我想使用更基于标准的方法。
在实现提供内容的端点时,我以前使用过 HTTP Content-Range 标头。将内容从客户端发布到服务器时是否也适合使用此标头?
我正在开发一个现有的 Silverlight 文件上传器,它将文件分成多个块并使用多个 HTTP 请求传输文件。
目前,它在查询字符串上发送开始和总字节信息,但作为学习练习,我想使用更基于标准的方法。
在实现提供内容的端点时,我以前使用过 HTTP Content-Range 标头。将内容从客户端发布到服务器时是否也适合使用此标头?
是的。
RFC 2616 (HTTP 1.1),第 14 节首先说明:
对于实体头字段,发送者和接收者都指客户端或服务器,具体取决于谁发送和谁接收实体。
除此之外,定义 Content-Range 标头的第 14.16 节似乎不包含任何将其使用限制为请求或响应的语言。
可能不是,至少截至 2014 年(原始答案来自 2011 年)。
更新的 HTTP 1.1 规范rfc7231 (4.3.3)对有效的 POST 响应进行了如下说明:
源服务器根据 POST 请求的处理结果选择适当的状态码来指示响应语义;本规范定义的几乎所有状态代码都可能在对 POST 的响应中收到(例外情况是 206(部分内容)、304(未修改)和416(范围不可满足))。
鉴于这种语言已明确添加到更新的规范中,我怀疑作者是否打算将Content-Range
标头与 POST 方法一起使用。