HTTP请求通过起始行中的URL和HOST标头指示服务器上的资源。
HTTP响应是否指示接收方的地址或类似地址? 如果没有,为什么没有必要?
谢谢。
答案 0 :(得分:1)
Internet协议是分层的。
HTTP请求被包装在TCP包中,而TCP包被包装在IP中。
外部IP数据包包含有关谁是消息的收件人和谁是消息的发件人的信息。基于此信息,TCP / IP服务知道将消息发送回何处。
Host
头实际上是后来添加到HTTP中的。之前并不需要,因为假设一个IP地址具有一个HTTP服务会更安全。之所以添加Host标头,是因为人们需要从一组较小的IP地址中为许多不同的域提供服务,并根据域的内容发送不同的响应。
没有Host
头,就不可能知道用户想要哪个域,因为ip数据包仅编码ip地址,而不是使用哪个域来查找ip。