2013-08-31 48 views
1

我正在使用IIS作为介质服务器的DLNA服务器上工作。一些DLNA客户端发送与一系列报头一个http HEAD 请求:带有范围标头的HTTP HEAD请求

Command: HEAD 

+ URI:/RicDLNA/Streamer.ashx?media=/Videos/Guca%20Distant%20Trumpet/Gucha%20Distant%20Trumpet.mp4 ProtocolVersion:HTTP/1.1 主机:192.168.1.100 范围:字节= 0- transferMode.dlna.org:流 HeaderEnd:CRLF

我只响应具有 “接受范围字节”。但IIS提供了一个statuscode 416错误。它看起来这个错误状态阻止客户端继续。

  1. 是否允许在HEAD请求中发送这样一个范围头?
  2. 我应该回复客户端是否知道支持范围并调用IIS生成的状态码416.
  3. 有没有可能覆盖错误的IIS状态码的OK状态?
+0

你说的接受范围,字节“我只响应‘的意思是’什么是你要发送 –

回答

2

ietf.org RFC7233部分3.1 Range你可以找到摘录

服务器必须忽略Range头领域与其他的请求方法获得比GET

对我来说,这意味着尽可能:您可以使用HEAD命令进行范围请求,但您的服务器必须忽略它。

+0

有没有反应?‘W3C’规范的HTTP 并且没有; 7233说什么RFC是收件人需要忽略GET以外的其他方法 –

+0

@JulianReschke,现在我再读一遍,你说得对,我不是英文母语,但我会在我的答案中改变它。 –