Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
РСОИ.docx
Скачиваний:
4
Добавлен:
15.08.2019
Размер:
147.01 Кб
Скачать

WWW.сторона клиента

Браузер предоставляет пользователю запрашиваемую страницу, интерпретирует её текст и содержащиеся в нем команды форматирования текста и вывода страницы на экран.

URL(Uniform Resourse Locator). URL состоит из 3-х частей: имя протокола( http), DNS имя, имя файла запрашиваемой страницы.

Действия выполняемые браузером:

  1. Браузер запрашивает у службы DNS IP-адрес сервера

  2. DNS получает ответ IP адрес

  3. Браузер устанавливает TCP соединение с сервером по порту 80 и IP адресу сервера

  4. Браузер отправляет запрос на получение файла

  5. Получение запрашиваемого файла от сервера

  6. Разрыв TCP соединения

  7. Браузер интерпретирует содержимое полученного файла и отображает текст на экран

  8. Браузер получает и выводит мультимедиа контент прикрепленный к файлу

Базовый код клиентская машина браузер (1 процесс)

интерфейс

браузера

Интерфейс

Подключенного модуля

Подключенный модуль

Каждый браузер имеет набор процедур, который должны реализовать все подключаемые модули. Набор этих процедур образует интерфейс подключаемого модуля и является специфичным для каждого конкретного браузера.

Вспомогательные приложения - это полноценные программы, работающие как отдельный процесс. Поскольку они никак не связаны с браузером между ними отсутствует какой либо интерфейс. Вспомогательные приложения вызываются с параметром, представляющим собой имя временного файла, содержащего данные для отображения.

Таким образом, браузер можно настроить на обработку практического любого типа файлов, не внося в него никаких изменений.

Д/з протокол dns Сторона сервера

Apache, IIS.

Основные действия сервера

  1. Принимает входящие TCP соединения от клиента

  2. Получение имени запрашиваемого файла

  3. Чтение файла с диска

  4. Возвращает файл клиенту

  5. Разрывает TCP соединение. Проблемой данного похода является ограничение производительности web-сервера его жестким диском.

поток

Входной модуль

КЭШ

Очевидным способом решения проблемы является кэширование в памяти n последних запрошенных файлов. Решением проблемы производительности является создание многопоточных серверов.

Web серв

Обрабатывающий

модуль

Сервер состоит из входного модуля и К-обрабатывающего модуля. Все К потоков принадлежат одному и тому же процессу, поэтому у обрабатывающих модулей есть доступ к КЭШу в адресном пространстве процесса.

Принцип работы:

Обрабатывающий модуль принимает запрос от клиентской программы, преобразует его в краткую форму и передает свободному обрабатывающему модулю. Обрабатывающий модуль проверяет КЭШ на наличие запрашиваемого файла. Если файл присутствует то файл передается входному модулю, в противном случае читает его с жесткого диска. Входной модуль формирует ответ пользователю с запрошенным файлом. Современные web-сервера выполняют гораздо больше функций чем просто прием имен файлов и отправка файлов, и по этой причине на многих серверах каждый обрабатывающий модуль выполняет серии действий:

  1. Вычисление имени запрашиваемой web страницы. Этот шаг необходим, так как входящий запрос может и не содержать реального имени файла.

  2. Регистрация клиента. Состоит в проверке идентификационных данных клиента. Это необходимо для отображения страниц не доступных широкой публике. Реализуется средствами самого сервера.

  3. Осуществление контроля доступа для клиента.

  4. Осуществление контроля доступа для web страниц. Проверяет наличие каких либо ограничений накладываемых на данного клиента и его местоположение, а так же ограничение на доступ запрашиваемой страницы. Наличие файла .htaccess

  5. Проверка КЭШа

  6. Получение запрашиваемой страницы с диска.

  7. Определение типа MIME для включения этой информации в ответ клиенту.

  8. Выполнение различных дополнительных задач (сбор статистики и другое)

  9. Возвращение ответа клиенту.

  10. Добавление записи в журнал активности сервера. Требуется для нужд администратора сервера.

BM

Если происходит слишком много запросов в секунду ЦП может перестать справляться с их обработкой, независимо от количества параллельно работающих дисков и объема кэша. Это решается поставкой дополнительных машин. В результате возникает многомашинная система, организованная в виде серверной фермы

маршрутизатор Конвейер потоков

обрабатыв.узел

NBC

Входной модуль принимает запрос и распределяет их между центральными процессорами, снижая тем самым нагрузку на компьютеры. Отдельные машины могут быть многопотоковыми с конвейеризацией.

  1. Одна из проблем связана с отсутствием общего КЭШа. Каждый обрабатывающий узел имеет собственную память. Решением этой проблемы является возможность запоминания входным модулем к какому обрабатывающему узлу какой запрос он передавал.

  2. TCP соединение клиента заканчивается на входном модуле. Решение: TCP соединение продлевается до конечного узла(обрабатывающего) и он может самостоятельно отправить ответ клиенту.