我知道HTTP服務器可以發送帶有重複密鑰的標頭(至少Set-Cookie
想到),但是客戶做這件事有沒有合理的理由?是否允許HTTP客戶端發送多個具有相同名稱的標頭?
0
A
回答
1
在某些情況下,RFC 7230確實允許重複標題。從section 3.2.2:
除非任何爲該 頭字段整個字段值被定義爲逗號分隔的列表發送方必須不產生在消息中使用相同的字段 名稱的多個報頭字段[即,#(值)] 或標題字段是一個衆所周知的例外(如下所述)。
接收者可以與相同的場 名稱組合多個報頭字段爲一個「字段名:字段值」對,在不改變消息的 語義,由每個隨後的字段值追加到 組合字段按逗號分隔的順序值。
一個有點「似是而非」的情景浮現在腦海:當HTTP請求是通過代理,代理可以簡單地釘在另一頭(比方說,一個X-Forwarded-For
,或額外Accept-Encoding
),而不是確定一個頭文件已經存在,然後相應地解析和修改它。
從技術上講,只要符合上述RFC 7230中的要求,任何客戶端都可以「允許」發送多個具有相同名稱的頭文件。
0
a)在多個代碼片斷都參與可能更容易,
b)中它可以是不可避免的對某些字段如的Set-Cookie(見https://greenbytes.de/tech/webdav/rfc7230.html#rfc.section.3.2.2.p.4)。
相關問題
- 1. 設置多個具有相同名稱的HTTP標頭?
- 2. Clojure讓允許多個具有相同名稱的綁定
- 3. 在Java中具有相同名稱的多個響應標頭
- 4. 客戶端通常發送http頭
- 5. IE發送多個具有相同名稱的cookie?
- 6. HTTP請求中是否允許多個Cookie標頭?
- 7. 具有相同名稱的CSS多個ID是否有效?
- 8. 具有相同名稱的jquery多個按鈕觸發多個具有相同名稱的類的事件
- 9. Winsock - 允許多個客戶端線程
- 10. 爲什麼PDO不允許具有相同名稱的多個佔位符?
- 11. 不允許兩個名稱相同 - mongodb
- 12. 如何向多個客戶端發送相同的消息
- 13. 如何使用相同的客戶端發送多個請求?
- 14. 發送相同的數據包到多個客戶端
- 15. HTML:Display:none這是否允許具有相同名稱的多個ID-屬性(何時「隱藏」)?
- 16. 理論上,是否可以允許多個C++模板具有相同的名稱?
- 17. 是否有可能有兩個具有相同名稱的ConnectionStrings?
- 18. mediafoundation是否允許多個客戶端同時訪問單個網絡攝像頭設備?
- 19. 選擇相同的客戶名稱,但具有不同的客戶地址
- 20. 如果參數列表不同,Fortran 95是否允許兩個子例程具有相同的名稱?
- 21. 客戶端請求的ReastEasy Http標頭
- 22. wsgi如何處理具有相同名稱的多個請求標頭?
- 23. 如果一個div是display:none,那麼在div元素中是否允許具有相同名稱的連續錨?
- 24. MySQL的指標:具有相同名稱的多個KEY_NAME
- 25. 是否有一個Python HTTP客戶端,允許您在發佈文件的Content-Disposition中設置大小?
- 26. 允許客戶發送反饋
- 27. 有多個名稱不同的相同類是否合適?
- 28. Java Keytool是否允許SAN值具有通配DNS名稱
- 29. AspCore具有相同操作的多個發佈操作名稱
- 30. 隱藏多個具有相同名稱或類別的標記