首页 > 解决方案 > HTTP 响应是否指示接收者的地址或类似的地址?

问题描述

HTTP 请求通过起始行中的 URL 和 HOST 标头指示服务器上的资源。

HTTP 响应是否指示接收者的地址或类似的地址?如果没有,为什么没有必要?

谢谢。

标签: httpweb

解决方案


Internet 协议是分层的。

HTTP 请求被包装在 TCP 包中,TCP 包被包装在 IP 中。

外部 IP 数据包包含有关谁是消息的接收者和谁是发送者的信息。基于此信息,TCP/IP 服务知道将消息发送回何处。

Host头实际上是后来添加到 HTTP 的。以前并不真正需要它,因为假设单个 IP 地址将具有单个 HTTP 服务更安全。添加 Host 标头是因为人们需要从一组较小的 ip 地址提供许多不同的域,并根据域的内容发送不同的响应。

如果没有Host标头,就不可能知道用户想要哪个域,因为 ip 数据包只编码 ip 地址,而不是用于查找 ip 的域。


推荐阅读