Егоров А.А. |
Сетевые технологии |
АСОИУ |
СЕТЕВЫЕ ТЕХНОЛОГИИ
Лабораторная работа HTTP
1
Егоров А.А. |
Сетевые технологии |
АСОИУ |
Лабораторная работа HTTP
ПРОТОКОЛ ПЕРЕДАЧИ ГИПЕРТЕКСТА HTTP
Цель работы: Научиться формировать HTTP-запросы методами GET, HEAD и POST, а
также анализировать полученные HTTP-ответы.
Термины:
Telnet - программа удаленного доступа, позволяющая входить в другую вычислительную систему, работающую в Интернет, с помощью протокола TELNET.
Протокол TELNET - TCP/IP-протокол для доступа к удаленному компьютеру и обработки данных на нем.
URI (Uniform Resource Identifier) - универсальный идентификатор ресурса.
URL (Universal Resource Locator) - универсальный адрес ресурса.background = URI
HTTP (англ. HyperText Transfer Protocol — «протокол передачи гипертекста») — протокол прикладного уровня передачи данных (изначально — в виде гипертекстовых документов). Основой HTTP является технология «клиент-сервер», то есть предполагается существование потребителей (клиентов), которые инициируют соединение и посылают запрос, и поставщиков (серверов), которые ожидают соединения для получения запроса, производят необходимые действия и возвращают обратно сообщение с результатом.
Задание:
1. С помощью утилиты ping определите IP адреса интернет-узлов для всех DNS-имён
поисковых систем. По IP адресам с помощью обратного DNS-запроса определите имена
интернет-узлов, зарегистрированных для данных IP адресов (используйте ключ –a
утилиты ping). Сравните имена и сделайте вывод о том, является ли домен основным для
данного интернет-узла. Если возможно, укажите хостинг-провайдера или название
организации, которая обеспечивает работу указанного домена.
2. С помощью утилиты telnet установите TCP-соединение по 80-му порту с любым
интернет-узлом. Для установления TCP-соединения запустите утилиту telnet ("Пуск" ->
"Выполнить" -> "cmd" -> "telnet"), установите режим "локальное эхо", чтобы видеть
набираемый текст (set local_echo для Windows2000, set localecho для WinXP), откройте
соединение с интернет-узлом по 80-му порту с помощью команды open domain.com 80,
где domain.com - имя интернет-узла. После этого экран очистится, и можно вводить HTTP-
запрос. После получения HTTP-ответа его можно скопировать в буфер. Для этого
выделите текст с помощью левой клавиши мыши и нажмите правую кнопку мыши в
пределах окна. В результате выделенный текст скопируется в буфер, и его можно будет
вставить в любой редактор с помощью комбинации клавиш Ctrl+V.
3 Запросите данные из хоста-сервера. В среде Visual Studio создайте новый проект и
назовите его на свое усмотрение. В исходном коде главной форме подключите
2
Егоров А.А. Сетевые технологии АСОИУ
пространство имен System.Net. Платформа .NET Framework предоставляет класс,
производный от HttpWebRequest, WebRequest, к запросам HTTP и HTTPS. В большинстве случаев класс WebRequest предоставляет все свойства нужно выполнить запрос. Однако если требуется, можно привести WebRequest объекты, созданные методом
WebRequest.Create к типу HttpWebRequest для получения доступа к свойствам Http-
определенного запроса. Аналогично, объект HttpWebResponse обрабатывает ответы из запросов HTTP и HTTPS. Для получения доступа к свойствам определенного
HttpWebResponse Httpобъект необходимо привести объекты WebResponse к типу
HttpWebResponse .
WebRequest request = WebRequest.Create ("google.com");
Для фиксации результата запроса используйте класс Stream.
Stream dataStream = request.GetRequestStream ();
Для получения запроса используйте класс WebResponse.
WebResponse response = request.GetResponse ();
Лабораторная работа считается защищенной, если:
-умеете использовать команду ping; -умеете использовать команду telnet;
-у вас принята программа отправления и получения HTTP запросов.
3