- •Д/з протокол dns Сторона сервера
- •Основные действия сервера
- •Cookie файлы
- •Статические веб страницы.
- •Динамические веб страницы
- •Основные характеристики php
- •Операторы
- •Цикл for
- •Цикл While
- •Цикл do…while
- •Массивы
- •Инициализация массивов
- •Обход массива
- •Многомерные массивы
- •Сессии в php
- •Принцип использования сессий
- •Полезные функции сессий
WWW.сторона клиента
Браузер предоставляет пользователю запрашиваемую страницу, интерпретирует её текст и содержащиеся в нем команды форматирования текста и вывода страницы на экран.
URL(Uniform Resourse Locator). URL состоит из 3-х частей: имя протокола( http), DNS имя, имя файла запрашиваемой страницы.
Действия выполняемые браузером:
Браузер запрашивает у службы DNS IP-адрес сервера
DNS получает ответ IP адрес
Браузер устанавливает TCP соединение с сервером по порту 80 и IP адресу сервера
Браузер отправляет запрос на получение файла
Получение запрашиваемого файла от сервера
Разрыв TCP соединения
Браузер интерпретирует содержимое полученного файла и отображает текст на экран
Браузер получает и выводит мультимедиа контент прикрепленный к файлу
Базовый код клиентская машина браузер (1 процесс)
интерфейс
браузера
Интерфейс
Подключенного модуля
Подключенный модуль
Каждый браузер имеет набор процедур, который должны реализовать все подключаемые модули. Набор этих процедур образует интерфейс подключаемого модуля и является специфичным для каждого конкретного браузера.
Вспомогательные приложения - это полноценные программы, работающие как отдельный процесс. Поскольку они никак не связаны с браузером между ними отсутствует какой либо интерфейс. Вспомогательные приложения вызываются с параметром, представляющим собой имя временного файла, содержащего данные для отображения.
Таким образом, браузер можно настроить на обработку практического любого типа файлов, не внося в него никаких изменений.
Д/з протокол dns Сторона сервера
Apache, IIS.
Основные действия сервера
Принимает входящие TCP соединения от клиента
Получение имени запрашиваемого файла
Чтение файла с диска
Возвращает файл клиенту
Разрывает TCP соединение. Проблемой данного похода является ограничение производительности web-сервера его жестким диском.
поток
Входной модуль
КЭШ
Очевидным способом решения проблемы является кэширование в памяти n последних запрошенных файлов. Решением проблемы производительности является создание многопоточных серверов.
Web серв
Обрабатывающий
модуль
Сервер состоит из входного модуля и К-обрабатывающего модуля. Все К потоков принадлежат одному и тому же процессу, поэтому у обрабатывающих модулей есть доступ к КЭШу в адресном пространстве процесса.
Принцип работы:
Обрабатывающий модуль принимает запрос от клиентской программы, преобразует его в краткую форму и передает свободному обрабатывающему модулю. Обрабатывающий модуль проверяет КЭШ на наличие запрашиваемого файла. Если файл присутствует то файл передается входному модулю, в противном случае читает его с жесткого диска. Входной модуль формирует ответ пользователю с запрошенным файлом. Современные web-сервера выполняют гораздо больше функций чем просто прием имен файлов и отправка файлов, и по этой причине на многих серверах каждый обрабатывающий модуль выполняет серии действий:
Вычисление имени запрашиваемой web страницы. Этот шаг необходим, так как входящий запрос может и не содержать реального имени файла.
Регистрация клиента. Состоит в проверке идентификационных данных клиента. Это необходимо для отображения страниц не доступных широкой публике. Реализуется средствами самого сервера.
Осуществление контроля доступа для клиента.
Осуществление контроля доступа для web страниц. Проверяет наличие каких либо ограничений накладываемых на данного клиента и его местоположение, а так же ограничение на доступ запрашиваемой страницы. Наличие файла .htaccess
Проверка КЭШа
Получение запрашиваемой страницы с диска.
Определение типа MIME для включения этой информации в ответ клиенту.
Выполнение различных дополнительных задач (сбор статистики и другое)
Возвращение ответа клиенту.
Добавление записи в журнал активности сервера. Требуется для нужд администратора сервера.
BM
Если происходит слишком много запросов в секунду ЦП может перестать справляться с их обработкой, независимо от количества параллельно работающих дисков и объема кэша. Это решается поставкой дополнительных машин. В результате возникает многомашинная система, организованная в виде серверной фермы
маршрутизатор Конвейер потоков
обрабатыв.узел
NBC
Входной модуль принимает запрос и распределяет их между центральными процессорами, снижая тем самым нагрузку на компьютеры. Отдельные машины могут быть многопотоковыми с конвейеризацией.
Одна из проблем связана с отсутствием общего КЭШа. Каждый обрабатывающий узел имеет собственную память. Решением этой проблемы является возможность запоминания входным модулем к какому обрабатывающему узлу какой запрос он передавал.
TCP соединение клиента заканчивается на входном модуле. Решение: TCP соединение продлевается до конечного узла(обрабатывающего) и он может самостоятельно отправить ответ клиенту.