Зачем нам снова нужно имя хоста при загрузке веб-страницы с помощью telnet?

Я узнал, что вы можете использовать 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

?

Спасибо, ребята!

0
задан 8 October 2018 в 03:29
1 ответ

telnet не понимает HTTP, поэтому все telnet example.com 80 открывает соединение с example.com через порт 80 . Последующий HTTP-запрос полностью зависит от вас, включая заголовки.

Без заголовка Host ваш запрос перейдет на виртуальный хост по умолчанию на сервере, обрабатывающем example.com ] (как если бы вы ввели IP-адрес сервера в браузере), который может не быть example.com .

3
ответ дан 4 December 2019 в 12:16

Теги

Похожие вопросы