Я узнал, что вы можете использовать telnet для загрузки веб-страницы (выполняя http-запрос) , например,
telnet www.example.com 80
GET HTTP / HTTP/1.1
HOST: www.example.com
, тогда на выходе будет исходная страница html или что-то в этом роде.
Мой вопрос: если мы указали www.example.com при инициализации запроса telnet в
telnet www.example.com 80
, почему нам все еще нужно указывать это снова в
HOST: www.example.com
?
Спасибо, ребята!
telnet
не понимает HTTP, поэтому все telnet example.com 80
открывает соединение с example.com
через порт 80
. Последующий HTTP-запрос полностью зависит от вас, включая заголовки.
Без заголовка Host
ваш запрос перейдет на виртуальный хост по умолчанию на сервере, обрабатывающем example.com
] (как если бы вы ввели IP-адрес сервера в браузере), который может не быть example.com
.