繁体   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