假设我有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
?我注意到我想显示一个错误页面而不是转发到默认名称。
感谢。
答案 0 :(得分:3)
这是一个格式错误的消息,因此400。
答案 1 :(得分:3)
朱利安是对的:
...客户端必须在所有HTTP / 1.1请求中包含Host头字段 消息。如果请求的URI不包含Internet主机名 对于所请求的服务,那么Host头字段必须是 给出一个空值。 HTTP / 1.1代理必须确保任何 请求消息它转发确实包含一个适当的主机头 标识代理请求的服务的字段。所有 基于Internet的HTTP / 1.1服务器必须以400(错误请求)响应 任何缺少Host头的HTTP / 1.1请求消息的状态代码 字段。
如果您有协议问题,那么RFC有点干,但信息量很大。