Непостоянное соединение

Рассмотрим, каким образом осуществляется передача web-страницы от сервера к клиенту в случае непостоянного HTTP-соединения. Предположим, что страница состоит из базового HTML-файла и десяти JPEG-изображений, находящихся на одном сервере. Пусть URL базового HTML-файла имеет вид _www.someSchooLedu/someDepartment/home.index. Процесс обмена между клиентом и сервером состоит из следующих шагов.
1. HTTP-клиент инициирует ТСР-соединение с сервером www.someSchool.edu через порт номер 80, который по умолчанию является номером порта для HTTP.
2. HTTP-клиент посылает запрос серверу через сокет, выделенный ТСР-соеди-нению, которое было установлено на шаге 1. Запрос включает путь к базовому HTML-файлу: someDepartment/home.index (чуть позже мы рассмотрим HTTP-сообщения более детально).
3. HTTP-сервер получает запрос через сокет, ассоциированный с установленным соединением, извлекает объект someDepartment/home.index, формирует ответ, включающий объект, и отсылает его клиенту через сокет.
4. HTTP-сервер закрывает ТСР-соединение (окончательный разрыв соединения происходит после того, как сервер получает информацию об успешной передаче объекта).
5. HTTP-клиент принимает ответ сервера. ТСР-соединение завершается. Клиент обрабатывает сообщение, в котором указано, что доставленный объект является базовым HTML-файлом. Клиент извлекает файл, обрабатывает его и выделяет ссылки на 10 объектов (JPEG-файлов).
6. Шаги 1-4 повторяются для каждого из 10 объектов.

После получения web-страницы браузер отображает ее на экране. Необходимо помнить, что различные браузеры могут по-разному интерпретировать одну и ту же web-страницу. Протокол HTTP никак не связан со способом визуализации web-страниц; спецификации, содержащиеся в документах RFC 1945 и RFC 2616, описывают только метод обмена информацией между клиентом и сервером.

Описанная модель взаимодействия относится к непостоянному соединению, то есть соединению, не позволяющему осуществлять передачу нескольких объектов. Для получения web-страницы требуется многократное установление и завершение соединения (в приведенном выше примере необходимо установить 11 соединений). Каждое соединение состоит из единственных сообщения-запроса и сообщения-ответа.
Приведенная модель не дает ответа на вопрос, являются ли TCP-соединения последовательными или параллельными; другими словами, одновременно ли были получены несколько объектов. Параллелизм TCP-соединений возможен, при этом его степень (максимальное число одновременно устанавливаемых соединений) в современных браузерах конфигурируется пользователями. В большинстве случаев браузеры открывают от 5 до 10 параллельных TCP-соединений; тем не менее можно установить степень параллелизма, равную 1, что приведет к открытию каждого нового соединения только при завершении предыдущего. Как мы убедимся в следующей главе, параллельная передача объектов позволяет сократить время ответа сервера.

Теперь попробуем оценить величину временного интервала, проходящего с момента запроса клиентом web-страницы до окончания ее передачи. Здесь мы воспользуемся понятием времени оборота (Round-Trip Time, RTT), то есть времени, требующемуся пакету малой длины для передачи от клиента серверу и обратно. Время оборота включает в себя задержку распространения, ожидания и обработки (см. раздел «Задержки и потери данных в сетях с коммутацией пакетов» в первой главе). Рассмотрим, что происходит, когда пользователь совершает щелчок на гиперссылке. Как показано на рис. 2.5, браузер инициирует ТСР-соединение с web-сервером, которое устанавливается после «тройного рукопожатия»: клиент посылает серверу небольшой TCP-сегмент, сервер отвечает схожим сегментом (подтверждением), и наконец, клиент посылает серверу еще один сегмент-подтверждение. Для однократного обмена сегментами требуется время, равное времени оборота. Вместе с последним сегментом рукопожатия клиент отсылает серверу свой запрос, а сервер после получения запроса высылает клиенту базовый HTML-файл. Этот фрагмент взаимодействия также вызывает задержку на время оборота. Таким образом, суммарное время ответа складывается из удвоенного времени оборота и времени передачи базового HTML-файла.

25.png

Данная статья "Непостоянное соединение" размещена на сайте Компьютерные сети и многоуровневая архитектура интернета (conlex.kz) в ознакомительных целях.

Уточнения, корректировки и обсуждения статьи "Непостоянное соединение" - под данным текстом, в комментариях.

Ответственность, за все изменения, внесённые в систему по советам данной статьи, Вы берёте на себя.

Копирование статьи "Непостоянное соединение", без указания ссылки на сайт первоисточника Компьютерные сети и многоуровневая архитектура интернета (conlex.kz), строго запрещено.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *