- •Содержание
- •Введение
- •1 Общие сведения о вычислительных сетях
- •1.1 Назначение вычислительных сетей
- •1.2 Архитектура "клиент-сервер"
- •1.3 Классификация вычислительных сетей
- •1.3.1 Локальные вычислительные сети
- •1.3.2 Сети отделов, кампусов, корпоративные сети
- •1.4 Сетевые топологии и методы доступа к среде передачи данных
- •1.4.1 Шинная топология
- •1.4.2 Звездообразная топология
- •1.4.3 Кольцевая топология
- •1.4.4 Смешанные топологии
- •1.5 Основные типы кабельных сред передачи данных
- •1.5.1 Коаксиальный кабель
- •1.5.2 Витая пара
- •1.5.3 Оптоволоконный кабель
- •1.6 Контрольные вопросы
- •1.7 Тесты
- •2 Взаимодействие открытых систем
- •2.1 Эталонная модель osi
- •2.2 Характеристика стеков коммуникационных протоколов
- •2.2.1 Стек osi
- •2.2.2 Стек tcp/ip
- •2.2.3 Стек ipx/spx
- •2.3 Контрольные вопросы
- •2.4 Тесты
- •3 Объединение сетей с помощью мостов, коммутаторов и маршрутизаторов
- •3.1 Устройства объединения сетей
- •3.2 Физическая структуризация локальной сети. Повторители и концентраторы
- •3.3 Логическая структуризация сети. Мосты и коммутаторы
- •3.3.1 Как работает коммутатор
- •3.4 Маршрутизаторы
- •3.4.1 Примеры маршрутизации
- •3.5 Контрольные вопросы
- •3.6 Тесты
- •1) Какие устройства объединяют сети на физическом уровне?
- •2) Какие устройства объединяют сети на канальном уровне?
- •А) маршрутизатор; б) повторитель; в) коммутатор;
- •4 Базовые технологии локальных сетей
- •4.1 Технология Ethernet
- •4.1.1 Метод доступа csma/cd
- •4.1.2 Спецификации физической среды Ethernet
- •4.1.3 Стандарт 10Base-5
- •4.1.4 Стандарт 10Base-2
- •4.1.5 Стандарт 10Base-t
- •4.1.6 Оптоволоконный Ethernet
- •4.1.7 Домен коллизий
- •4.2 Технология Token Ring
- •4.2.1 Маркерный метод доступа к разделяемой среде
- •4.2.2 Физический уровень технологии Token Ring
- •4.3 Технология fddi
- •4.3.1 Особенности метода доступа fddi
- •4.3.2 Сравнение fddi с технологиями Ethernet и Token Ring
- •4.4 Контрольные вопросы
- •4.5 Тесты
- •5 Основы tcp/ip
- •5.1 Классификация протоколов
- •5.2 Сетевые протоколы
- •5.2.1 Протокол ip
- •5.2.3 Протокол icmp
- •5.3 Транспортные протоколы
- •5.3.1 Протокол управления передачей tcp
- •5.3.2 Протокол дейтаграмм пользователя udp
- •5.4 Связь протоколов сетевого и транспортного уровней
- •5.4.1 Структура связей протокольных модулей
- •5.5 Контрольные вопросы
- •5.6 Тесты
- •6 Информационные сервисы Internet
- •6.1 История развития сети Internet
- •6.2 Основные инструменты Internet
- •6.3 Система доменных имен
- •6.3.1 Принципы организации dns
- •6.3.2 Регистрация доменных имен
- •6.3.3 Механизм поиска ip-адреса
- •6.4 Электронная почта в Internet
- •6.4.1 Протокол smtp
- •6.4.2 Протокол рор
- •6.4.4 Формат представления почтовых сообщений mime
- •6.5 Удаленный доступ к ресурсам сети. Протокол Telnet
- •6.6 Служба архивов ftp
- •6.6.1 Протокол ftp
- •6.7 Универсальный идентификатор ресурсов uri
- •6.7.1 Схемы адресации ресурсов Internet
- •6.8 Служба www
- •6.8.1 Схема работы www сервера
- •6.8.2 Архитектура построения системы
- •6.9 Протокол обмена гипертекстовой информацией
- •6.10 Язык гипертекстовой разметки html
- •6.11 Контрольные вопросы
- •6.12 Тесты
- •Заключение
- •Список использованных источников
- •Приложение а (справочное)
6.9 Протокол обмена гипертекстовой информацией
HTTP (HyperText Transfer Protocol) - это протокол прикладного уровня, разработанный для обмена гипертекстовой информацией в сети Internet, используется World Wide Web с 1990 года.
Реальная информационная система требует гораздо большего количества функций, чем просто поиск. HTTP позволяет реализовать в рамках обмена данными набор методов доступа, базирующихся на спецификации универсального идентификатора ресурсов (URI), применяемого в форме универсального локатора ресурсов (URL) или универсального имени ресурса (URN). Сообщения по сети при использовании протокола HTTP передаются в формате, схожим с форматом почтового сообщения Internet или с форматом сообщений MIME. HTTP используется для взаимодействия программ-клиентов с программами-шлюзами, разрешающими доступ к ресурсам электронной почты Internet (SMTP), спискам новостей (NNTP), файловым архивам (FTP), системам Gopher и WAIS. Протокол разработан для доступа к этим ресурсам посредством промежуточных программ-серверов (proxy), которые позволяют передавать информацию между различными информационными службами без потерь. Протокол реализует принцип "запрос/ответ". Запрашивающая программа - клиент - инициирует взаимодействие с отвечающей программой - сервером, и посылает запрос, включающий в себя метод доступа, адрес URI, версию протокола, информацию клиента, и, возможно, тело сообщения клиента. Сервер отвечает строкой состояния, включающей версию протокола и код возврата. Данное сообщение содержит информацию сервера, метаинформацию и тело сообщения.
При работе в Internet для обслуживания HTTP-запросов используется 80 порт TCP/IP. Практика использования протокола такова, что клиент устанавливает соединение и ждет ответа сервера. После отправки ответа сервер инициирует разрыв соединения. Таким образом, при передаче сложных гипертекстовых страниц соединение может устанавливаться несколько раз. Остановимся более подробно на механизме взаимодействия и форме передаваемой информации.
Форма запроса клиента. Программа-клиент посылает после установления соединения запрос серверу. Этот запрос может быть в двух формах: в форме полного запроса и в форме простого запроса. Простой запрос содержит метод доступа и запрос ресурса. Например:
GET http://polyn.net.kiae.su/
В этой записи слово GET обозначает метод доступа GET, а http://polyn.net.kiae.su/ - это запрос ресурса.
П олная форма содержит тип протокола доступа, адрес сервера ресурса, и адрес ресурса на сервере (рисунок 84).
Рисунок 84 - Полный адрес ресурса
Общий вид полного запроса выглядит так:
<Полный запрос> := <Строка Запроса> (<Общий заголовок>|<Заголовок запроса>|<Заголовок обозначения ресурса>)<символ новой строки>[<тело ресурса>]
Квадратные скобки здесь обозначают необязательные элементы заголовка. Строка запроса - это, практически, простой запрос ресурса. Отличие состоит в том, что в строке запроса можно указывать различные методы доступа и за запросом ресурса следует указывать версию протокола. Например, для вызова внешней программы можно использовать следующую строку запроса:
POST http://polyn.net.kiae.su/cgi-bin/test HTTP/1.0
В данном случае используется метод POST и протокол версии 1.0.
В обеих формах запроса важное место занимает форма запроса ресурса, которая кодируется в соответствии со спецификацией URI. Применительно к World Wide Web эта спецификация получила название URL. При обращении к серверу можно использовать как полную форму URL, так и упрощенную.
Методы доступа. В настоящее время в практике World Wide Web реально используются только три метода доступа: POST, GET, HEAD.
GET - метод, позволяющий получить данные, заданные в форме URL в запросе ресурса. Если ссылаются на программу, то возвращается результат выполнения этой программы, но не текст программы. Дополнительные данные, которые надо передать для обработки, кодируются в запросе ресурса. При использовании метода GET в поле тела ресурса возвращается собственно затребованная информация (текст HTML-документа, например).
HEAD - метод, аналогичный GET, но не возвращает тела ресурса. Используется для получения информации о ресурсе и для тестирования гипертекстовых ссылок.
POST - этот метод разработан для передачи большого объема информации на сервер. Им пользуются для аннотирования существующих ресурсов, посылки почтовых сообщений, работы с формами интерфейсов к внешним базам данных и внешним исполняемым программам. В отличие от GET и HEAD, в POST передается тело ресурса, которое и является информацией из поля форм или других источников ввода.
Ответ сервера. Ответ сервера может быть, как и запрос, упрощенным или полным. При упрощенном ответе сервер возвращает только тело ресурса (например, текст HTML-документа). При полном ответе клиенту возвращается строка состояния, общий заголовок, заголовок ответа, заголовок ресурса и тело ресурса. Полный ответ представляется следующим образом:
<Полный ответ>:= <Строка состояния> (<Общий заголовок>|<Заголовок
ответа>|<Заголовок ресурса>) <символ новой
строки>[<тело ресурса>]
Строка состояния состоит из версии протокола, кода возврата и краткого описания этого кода. Например, она может выглядеть так:
"HTTP/1.0 200 Success".
Заголовок ответа сервера может состоять из адреса URL запрашиваемого ресурса, и/или наименования программы сервера, и/или кода идентификации для работы в защищенном режиме. Состав полей заголовка ресурса является общим и для запроса клиента и для ответа сервера, и состоит из разрешения на метод доступа, типа кодировки, тела ресурса (содержания ресурса), длины тела ресурса, типа ресурса, время действия данной копии ресурса, времени последнего изменения ресурса и расширения заголовка.