我正在使用IIS作为媒体服务器的DLNA Server。某些DLNA客户端发送http HEAD 请求范围标题:
Command: HEAD
+ URI:/RDLDLNA/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
我只回复" Accept-Ranges Bytes"。但IIS提供状态码416错误。看起来此错误状态阻止客户端继续。
答案 0 :(得分:2)
在ietf.org RFC7233部分3.1 Range中,您可以找到摘录
服务器必须忽略使用GET以外的请求方法接收的Range头字段
对我而言,这意味着:您可以使用HEAD命令发出范围请求,但您的服务器必须忽略它。
答案 1 :(得分:0)
IIS 6.0和IIS 7.0将接受包含Range标头的HEAD请求(并返回某些媒体播放器(如Popcorn Hour A-100)期望的状态206。
我最近需要让IIS 7.5将这些请求与IIS 6.0 / 7.0相同,并且能够使用Beta http.sys v6.1.7000.0和pre-Beta static.dll v6.1.6801.0来做到这一点。 (必须在64位版本的Windows上规避驱动程序签名的强制实施)