簡體   English   中英

如何配置任何Web服務器以接受沒有主機和絕對請求URIS的POST請求?

[英]How do I configure ANY web server to accept POST requests that have No Host and absolute request URIS?

我有一個客戶端發送帶有絕對請求uri的http請求,並且未定義“主機”

像Jetty這樣的網絡服務器拒絕POST請求,說:

org.eclipse.jetty.http.BadMessageException:400:無主機

有什么方法可以配置jetty或任何其他Web服務器來接受沒有主機的發布請求?

https://tools.ietf.org/html/rfc7230#section-5.4

客戶端必須發送主機標頭以使其符合HTTP / 1.1

如果在目標中發送絕對URI,則Host標頭必須與在該絕對URI目標中找到的相同。

請注意,HTTP / 1.1規范甚至聲明了...

對於任何缺少主機頭字段的HTTP / 1.1請求消息,以及包含多個主機頭字段或具有無效字段值的主機頭字段的任何請求消息,服務器必須以400(錯誤請求)狀態碼進行響應。

這就要求始終在這種情況下以錯誤400進行響應。

如果使用HTTP / 2,則可以避免這種情況,因為目標URI和主機標頭之間的拆分是通過:authority偽標頭解決的。

參見https://httpwg.org/specs/rfc7540.html#rfc.section.8.1.2.3

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM