logo search
Пособие Технологии сети Интернет

7.7. Протоколы взаимодействия клиента и сервера

Основным протоколом взаимодействия WWW-клиента и WWW-сервера является протокол HTTP (Hypertext Transfer Protocol). Этот протокол обычно использует в качестве средства доставки своих сообщений транспортный протокол TCP.

Следует отметить, что спецификацией HTTP предусмотрено использование любого транспортного протокола, обеспечивающего гарантированную доставку

Протокол предполагает, что передаваемая информация представляется исключительно в виде текста в формате ASCII. Это оказывается не удобным для передачи данных различного вида - текста, написанного с помощью нелатинских букв, графических, звуковых, виде файлов и т.п. Для решения этой проблемы используются методы кодирования MIME, позволяющие преобразовать данные любого вида к тексту ASCII.

Принцип взаимодействия WWW-клиента и WWW-сервера на основе протокола HTTP предполагает следующую последовательность действий:

• клиент формирует сообщение-запрос и передает серверу;

• сервер получает сообщение, анализирует и обрабатывает запрос, формирует сообщение-ответ и направляет его клиенту.

В сообщениях-запросах в текстовом виде указывается строка запроса, содержащая команду, которую должен выполнить HTTP-сервер, а также параметры запроса, например URL, определяющий объект, над которым выполняются действия. Команды протокола позволяют клиенту:

• запросить у сервера ресурс (например, Web-документ, графический файл и тип) или проверить возможность доступа к ресурсу;

• передать данные серверу (например, содержимое заполненных полей формы);

• удалить ресурс на сервере;

• установить или отменить связь ресурса с другими ресурсами.

Как правило, для того, чтобы получить и представить пользователю запрашиваемый Web-документ, клиенту требуется выполнить несколько запросов. Это объясняется тем, что Web-документ, в общем случае представляется целом набором файлов, а для получения каждого файла требуется выполнить отдельный запрос.

Сообщения-ответы содержат в себе строку состояния, определяющую результат выполнения сервером команды клиента . Эта строка состоит из двух частей - числового кода и текстового описания результата. Например, строка сообщает клиенту о том, что запрашиваемый ресурс не найден.

Поскольку протокол предполагает передачу данных в текстовом виде (ASCII), то заголовок представляет последовательность строк.

В полях заголовка передается информация, необходимая для корректного получения и правильной интерпретации Web-документов и других ресурсов, которые передаются с помощью протокола:

• данные о клиенте, например, название, версия, поддерживаемые кодировки и т.п. и о сервере;

• данные о пользователе (при необходимости), который запрашивает ресурсы, например, информация для аутентификации и адрес электронной почты;

• информация о передаваемом ресурсе, например, тип содержимого (текст, графика и т.п.), язык, размер данных, дата обновления и т.п.;

• информация о способе кодирования данных при передаче, например, версия MIME и использование алгоритмов сжатия данных.

Состав заголовка HTTP-сообщения зависит от того, является ли сообщение запросом клиента или ответом сервера, а также от типа запроса или ответа.