'Host' Header 在 Web 请求中的用法
Usage of 'Host' Header in Web Requests
我正在查看 BurpSuite 中的 http-requests。我看到一个名为 'Host' 的字段。这个领域的重要性是什么?
如果我更改此字段然后发送请求会怎样?如果我将主机 header 字段更改为其他 IP,那么服务器会响应这个新修改的 IP 吗?
引用自https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Host:
主机请求header指定了请求发送到的服务器的主机和端口号。
如果未包含任何端口,则隐含所请求服务的默认端口(例如,443 用于 HTTPS URL,80 用于 HTTP URL)。
主机 header 字段必须在所有 HTTP/1.1 请求消息中发送。可以将 400(错误请求)状态代码发送到缺少主机 header 字段或包含多个主机
的任何 HTTP/1.1 请求消息。
单个 Web 服务器可以托管具有不同域和子域的多个网站。
主机 header 允许区分它们。
鉴于 IPv4 地址的可用性有限,这很重要,因为网站数量多于可用 IP 地址。
What happens if I change this field and then send the request?
如果服务器注意到它并识别主机名,它将响应该网站(否则它可能会回退到其默认网站或抛出错误)。
有关示例,请参阅 Apache HTTPD 手册中的 Name-based Virtual Host Support。
If I change the host header field to some other IP then would the server respond back to this new modified IP?
没有。 Host header 是客户端要求的主机。它与应该将响应发送到哪里无关。
我正在查看 BurpSuite 中的 http-requests。我看到一个名为 'Host' 的字段。这个领域的重要性是什么? 如果我更改此字段然后发送请求会怎样?如果我将主机 header 字段更改为其他 IP,那么服务器会响应这个新修改的 IP 吗?
引用自https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Host:
主机请求header指定了请求发送到的服务器的主机和端口号。
如果未包含任何端口,则隐含所请求服务的默认端口(例如,443 用于 HTTPS URL,80 用于 HTTP URL)。
主机 header 字段必须在所有 HTTP/1.1 请求消息中发送。可以将 400(错误请求)状态代码发送到缺少主机 header 字段或包含多个主机
的任何 HTTP/1.1 请求消息。单个 Web 服务器可以托管具有不同域和子域的多个网站。
主机 header 允许区分它们。
鉴于 IPv4 地址的可用性有限,这很重要,因为网站数量多于可用 IP 地址。
What happens if I change this field and then send the request?
如果服务器注意到它并识别主机名,它将响应该网站(否则它可能会回退到其默认网站或抛出错误)。
有关示例,请参阅 Apache HTTPD 手册中的 Name-based Virtual Host Support。
If I change the host header field to some other IP then would the server respond back to this new modified IP?
没有。 Host header 是客户端要求的主机。它与应该将响应发送到哪里无关。