为什么使用telnet下载网页时需要再次输入主机名?

为什么使用telnet下载网页时需要再次输入主机名?

我了解到你可以使用 telnet 下载网页(发出 http 请求),例如

telnet www.example.com 80
GET HTTP / HTTP/1.1
HOST: www.example.com

那么输出将是一个 html 源页面或者其他内容。

我的问题是,如果我们在初始化 telnet 请求时指定了 www.example.com

telnet www.example.com 80

为什么我们还需要再次指定

HOST: www.example.com

多谢你们!

答案1

telnet不理解 HTTP,所以所做的只是打开到端口telnet example.com 80的连接。后续的 HTTP 请求完全由您决定,包括标头。example.com80

如果没有Host标头,您的请求将转到服务器处理上的默认虚拟主机example.com(就像您在浏览器中输入服务器的 IP 地址一样),这可能会不是example.com

相关内容