2015-05-20 40 views
5

让说我有IP 1.2.3.4,我又把它映射到以下名称无效的HTTP响应代码/未接主机名

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

我查一下我的HTTP服务器Host头值将请求转发给相关模块。

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

谢谢。

回答

3

这是一个畸形消息,从而400

3

儒略是正确的:

RFC 2616 - 14.23 Host

...客户机必须包括一主机报头字段中的所有HTTP/1.1请求 消息。如果请求的URI不包含所请求服务的因特网主机名称 ,则主机头字段必须为 ,该值为空值。 HTTP/1.1代理必须确保其转发的任何请求消息都包含一个适当的主机标头 字段,用于标识代理请求的服务。全部 基于互联网的HTTP/1.1服务器务必以400(不良请求) 状态码响应任何HTTP/1.1请求消息,该消息缺少Host头域 字段。

当您有协议问题时,RFC有点干燥,但非常丰富。

相关问题