4

Я изучаю http и пытаюсь использовать telnet для отправки своих http-запросов.

В командной строке я ввел:

telnet google.com 80

Результат: экран очищен, и я вижу мигающий курсор. 1. Почему я не вижу никаких признаков того, что я подключен?

Теперь пытаемся ввести команду http (получить index.html ...) Я вижу, как курсор вводится вправо, когда я печатаю, но я не вижу букв на экране. Только заготовки. 2. Это почему?

(С использованием Windows7 64 бит)

2 ответа2

2

HTTP не основан на протоколе Telnet. На самом деле, с использованием telnet в качестве основы для "тестирования" HTTP-сервера есть несколько ошибок. Во-первых, telnet отправляет несколько дополнительных байтов сразу после установления TCP-соединения для настройки параметров сеанса. Во-вторых, HTTP не отображает данные, отправленные удаленным узлом. В-третьих, хорошие IPS-устройства могут сбрасывать соединения с портом HTTP при отправке данных начального сеанса или при обнаружении нарушений протокола.

Использование клиента telnet для проверки HTTP-сервера в лучшем случае является хакерским. Когда будет установлен сеанс TCP, клиент будет отображать пустой экран и отображать только то, что сервер отправляет обратно. Если вы умны, вы можете получить страницу на многих серверах ... но я бы посчитал это плохой практикой. Читайте о протоколе HTTP о том, как форматировать запрос GET .

Основной http-запрос выполняется следующим образом:

GET / HTTP / 1.0
 

Обратите внимание на дополнительную строку после запроса. Полный запрос заканчивается пустым переводом строки.

1

Почему я не вижу никаких признаков того, что я подключен?

Зачем серверу отправлять лишние ненужные данные и использовать большую пропускную способность? Однако вы подключены, и вы можете проверить это.

Попробуйте ввести HTTP/1.0 и нажмите [enter]. Вы должны получить ответ.
(Тот, который содержит ошибку, но обычно достаточно, чтобы проверить, работает ли веб-сервер.)

Я вижу, как курсор вводится вправо, когда я печатаю, но я не вижу букв на экране. Только заготовки.

Это связано с Windows Telnet. По умолчанию локальное эхо отключено.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .