a k*_*son 3 ip http virtualhost http-headers
我已阅读RFC 2616(HTTP/1.1),我认为对于上述问题并不清楚.
据我所知,主机头字段的目的是能够在一个IP地址下提供多个域.因此主机头字段中的IP地址没有多大意义.但RFC 2616没有明确禁止这一点.
所以我的第一个问题是:如果我编写HTTP服务器,我应该实施检查,客户端是否在主机头字段中发送IP地址,或者这是不必要的,因为没有客户端会这样做?
第二个问题:如果客户端在主机头字段中发送IP地址,服务器是应该将其处理为有效还是应该返回"400 Bad Request"?
该Host头可以是原始IP文字.适当的RFC引用是:
uri-hosthosthostRFC3986 的定义是:
host = IP-literal / IPv4Address / reg-name
Run Code Online (Sandbox Code Playgroud)
至于回归400 Bad Request,我当然不会.如果输入" http://172.217.3.100/ ",则浏览器(或至少是curl)将发送Host: 172.217.3.100请求.