昨天I asked關於來自PHP的服務字節範圍。今天我的問題是 - 在服務幾個請求的字節範圍時,我應該如何設置Content-Type
和Content-Disposition
標題?我應該在每個字節範圍內重複它們,還是應該在開始時只輸出一次?或者,也許我不應該輸出它們,因爲客戶端應該已經知道它在問什麼了?HTTP:客戶端請求字節範圍時應如何顯示Content-Type和Content-Disposition?
回答
通常,如果您返回整個資源或只是其中的一部分,HTTP響應標頭應該相同(重複);除了Content-Range標題會有所不同。
請記住,HTTP是無狀態的,所以每個響應應該是完整的並且能夠獨立運行。如果服務的字節範圍,你真的應該也使用實體標籤(ETags);這樣客戶端就不可能請求並獲得兩個單獨的字節範圍,這些範圍實際上屬於同一資源的不同修訂版本。
看看RFC 2616(特別是14.16和19.2節)。如果客戶端請求單個字節範圍,則響應必須包含單個字節範圍,並且Content-Type和Content-Disposition標頭值不會更改行爲(它們應反映所提供文件的類型)。但是,如果客戶端在單個請求中請求多個字節範圍,則響應必須使用Content-Type的「multipart/byteranges」,而body中的每個部分指定其自己的Content-Type標頭。
好的,內容配置呢? – 2009-09-09 19:40:33
內容處置適用於整個響應,而不適用於個別範圍部分。除非您提供整個文件,否則我不建議您將它包含在您的響應中,因爲現在唯一定義的Content-Disposition的使用是指定一個文件名,這對字節範圍來說不是很有意義。 – 2009-09-15 22:57:39
- 1. 如何在IIS中啓用字節範圍http請求
- 2. 如何增加空中客戶端http請求超時?
- 3. 範圍內的HTTP請求
- 4. 客戶端請求的ReastEasy Http標頭
- 5. Http客戶端獲取請求
- 6. 在客戶端中停止HTTP請求
- 7. Swift Http客戶端不發送請求
- 8. 如何自動確定登錄和http請求所需的客戶端請求?
- 9. XMLHTTPRequest的字節範圍請求
- 10. 最後一個字節的HTTP範圍請求
- 11. Apache Camel HTTP顯示請求和響應
- 12. SOAP請求與客戶端認證連接HTTP客戶端超時異常
- 13. 當服務器定義連接=關閉時,客戶端字節範圍請求是否工作?
- 14. 在客戶端結構中包含HTTP請求的HTTP客戶端
- 15. 當從客戶端調用HTTP請求時,是否可以將http請求/請求分成多個請求?
- 16. 是請求(HTTP請求客戶端)是否同步?
- 17. Google Directory API和PHP:未經授權的客戶端或請求範圍
- 18. 如何更改FLURL客戶端的HTTP請求內容類型?
- 19. 如何在http請求中知道客戶端域
- 20. 如何在node.js中捕獲http客戶端請求異常
- 21. 如何從http請求中確定客戶端的唯一性?
- 22. 如何在HTTP請求中接收客戶端證書?
- 23. 如何從JavaFX客戶端發起HTTP發佈請求
- 24. 如何理解客戶端的HTTP請求解碼?
- 25. 如何訪問客戶端頭請求
- 26. Node.js客戶端應用程序在http請求期間崩潰
- 27. Sinatra使用WebSocket客戶端來響應http請求
- 28. 對Electron應用程序的客戶端http請求
- 29. Fiddler無法從新客戶端套接字讀取HTTP請求
- 30. 客戶端/服務器http請求套接字
ETag對我來說不是問題 - 內容不會改變。 – 2009-09-09 19:41:33