【问题标题】:Http response code for invalid/missed host name无效/丢失主机名的 Http 响应代码
【发布时间】:2015-05-20 17:16:48
【问题描述】:

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

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

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

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

谢谢。

【问题讨论】:

    标签: http dns


    【解决方案1】:

    朱利安是正确的:

    RFC 2616 - 14.23 Host

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

    当您遇到协议问题时,RFC 读起来有点枯燥,但信息量很大。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-10
        • 2016-02-13
        • 1970-01-01
        • 1970-01-01
        • 2016-02-08
        相关资源
        最近更新 更多