2013-08-31 84 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,現在我再讀一遍,你說得對,我不是英文母語,但我會在我的答案中改變它。 –