无效/错过主机名的Http响应代码

时间:2015-05-20 17:16:48

标签: http dns

假设我有ip 1.2.3.4并将其映射到以下名称

folk.dude.cool
homie.dude.cool
bro.dude.cool
pal.dude.cool
buddy.dude.cool

我检查http服务器中的Host标头值,将请求转发给相关模块。

现在,当400?标头的值丢失或无效时,我应该向客户端回复什么http响应代码(502?Host?我注意到我想显示一个错误页面而不是转发到默认名称。

感谢。

2 个答案:

答案 0 :(得分:3)

这是一个格式错误的消息,因此400。

答案 1 :(得分:3)

朱利安是对的:

RFC 2616 - 14.23 Host

  

...客户端必须在所有HTTP / 1.1请求中包含Host头字段   消息。如果请求的URI不包含Internet主机名   对于所请求的服务,那么Host头字段必须是   给出一个空值。 HTTP / 1.1代理必须确保任何   请求消息它转发确实包含一个适当的主机头   标识代理请求的服务的字段。所有   基于Internet的HTTP / 1.1服务器必须以400(错误请求)响应   任何缺少Host头的HTTP / 1.1请求消息的状态代码   字段。

如果您有协议问题,那么RFC有点干,但信息量很大。