Динамические технологии на стороне сервера.
Часто бывает гораздо экономичнее производить обработку на сервере, так как при этом сильно сокращается объем сетевого трафика. Кроме того, политика безопасности может потребовать ограничить объем передаваемых данных на сторону клиента (скрытие на клиенте этих уже полученных данных при помощи свойства visible - замок от честных и мало знающих людей). Это - основные причины, по которым требуется устраивать обработку данных на сервере.
Технологии на стороне сервера: CGI (Common Gateway Interface) - интерфейс общего шлюза, ASP (Active Server Pages), Java Servlets, JSP (Java Server Pages) и другие.
CGI программа может быть написана почти на любом языке, но чаще всего ее пишут на Perl или C. Эту технологию поддерживают практически все Web - серверы.
Web - серверы в данном случае выступают как шлюз между запросом клиента и требуемыми данными. Сервер сначала создает новый процесс, в котором будет выполняться программа. Затем в этот процесс загружается необходимая среда времени выполнения и сама программа. Наконец, передается объект, представляющий собой запрос. И вызывается программа. По окончании работы программы веб-сервер считывает полученные ею результаты из стандартного устройства вывода (stdout).
В настоящее время самая большая проблема этой технологии в том, что она плохо масштабируется. Для обработки каждого запроса веб-сервер создает новый процесс. Каждый процесс состоит из собственного набора переменных окружения, отдельного экземпляра необходимой среды выполнения, экземпляра программы, имеет свою память. Такое устройство приводит к выполнимости достаточно простой атаки типа «отказ в обслуживании». Да и при нормальной работе в случае одновременного большого количества запросов к серверу может возникнуть отказ. Решение этой проблемы - технология FastCGI, которая обеспечивает совместное использование экземпляров CGI - программ. Еще одно решение - mod_perl. Эта технология основывается на интерпретации и выполнении сценариев Perl внутри веб-сервера Apache, совершенно обходя, таким образом, CGI.
Видимо, в ответ на неэффективность CGI фирмы Netscape и Microsoft разработали собственные API, позволяющие программистам создавать серверные приложения в виде библиотек совместного доступа. Эти библиотеки загружаются в процессе веб-сервера и могут обслуживать несколько запросов, не создавая новых процессов. Запускаться они могут или сразу же при запуске веб-сервера или при необходимости. Если в течение некоторого времени они не используются, веб-сервер может выгружать их из памяти. Это решение легче масштабируется, но имеет тоже несколько существенных недостатков:
предлагаемые API функции платформо зависимые,
так как доступ к этим библиотекам происходит одновременно для нескольких пользователей, они должны удовлетворять некоторым требованиям синхронизации, блокировок и т.п., что приводит к требованию в серверных программах с большой осторожностью работать с глобальными переменными,
при возникновении ошибки доступа в серверной программе, так как она находится внутри процесса сервера, может произойти отказ сервера.
ASP программа похожа на PHP программу в том смысле, что получая запрос на ASP файл сервер сначала ищет скомпилированную страницу, и если не находит, то сначала компилирует ее. Скомпилированная страница выполняется. Результат - HTML страница передается браузеру. Существенное ограничение этой технологии - операционная зависимость.
SSJS - Java Script на стороне сервера. Это технология, предложенная Netscape. Преимуществом ее может считаться использование стандартного языка JavaScript, а недостатком по сравнению с ASP и PHP то, что это компилятор, а не интерпретатор, что усложняет процесс модификации страниц. Еще более существенный недостаток - программная зависимость: технологию SSJS поддерживает только Netscape Enterprise Server, уступающий Apache и Microsoft IIS по распространенности в Интернет.
Java Servlets и JSP - технологии, применяемые на стороне сервера и использующие язык Java.
- Вопросы к предварительной сдаче экзамена.
- Тема 1.Основные понятия.
- Соединения и каналы.
- Типы связи
- Протоколы и службы.
- Уровни модели osi
- Разделение каналов. Мультиплексирование.
- Стек протоколов tcp/ip. История и перспективы стека tcp/ip
- Структура стека tcp/ip. Краткая характеристика протоколов
- Тема 3.Каким образом tcp обеспечивает надежную и быструю доставку. Сегменты tcp
- Организация клиент-серверной связи
- Порты и установление tcp-соединений
- Концепция квитирования
- Реализация скользящего окна в протоколе tcp
- Только положительные квитанции
- Нумерация байт, а не сегментов
- Выбор тайм-аута
- Реакция на перегрузку сети
- Формат сообщений tcp (для ознакомительного чтения)
- Тема 4.Адресация в ip-сетях. Типы адресов: физический (mac-адрес), сетевой (ip-адрес) и символьный (dns-имя).
- Три основных класса ip-адресов. Дополнительные классы.
- Соглашения о специальных адресах: broadcast, multicast, loopback
- Выбор адреса
- Тема 5.Dns и dhcp - серверы. Отображение физических адресов на ip-адреса: протоколы arp и rarp
- Отображение символьных адресов на ip-адреса: служба dns
- Автоматизация процесса назначения ip-адресов узлам сети - протокол dhcp
- Тема 6.Развитие стека tcp/ip: протокол iPv.6
- Адресация в iPv6
- Тема 7.Топологии сетей. Базовые сетевые технологии. Ethernet. Типы сетей
- Топологии сетей.
- Шинная топология.
- Кольцевая топология.
- Топология звезды.
- Гибридная топология.
- Ячеистая топология.
- Архитектуры сетей.
- Адресация Ethernet'а
- Формат кадра Ethernet'а
- Arp, rarp – протоколы. Чем отличаются?
- Подсети
- Как назначать номера сетей и подсетей. Маска подсети.
- Тема 8.Базовые сетевые технологии. Token Ring.
- Скоростные сетевые архитектуры.
- Ethernet 100 Мбит/с.
- Тема 9.Сетевая среда. Кабельные системы. Кабели. Витая пара. Коаксиальный кабель. Оптоволоконный кабель.
- Кабельные системы локальных вычислительных сетей
- Рекомендации по применению кабелей
- Проблемы монтажа кабельных систем
- Тема 10.Основные типы сетевых устройств. Сетевые адаптеры
- Репитеры
- Концентраторы
- Правило «5-4-3-2-1».
- Коммутаторы
- Известны четыре способа коммутации в локальных сетях:
- Три типа функциональной структуры коммутаторов
- Механизмы снижения интенсивности трафика
- Коммутаторы делятся на 4 категории:
- Мосты. Виды (по алгоритму работы). Подвиды «прозрачных» мостов.
- Маршрутизаторы
- Брандмауэры (сетевые фильтры).
- Заключение. Продвижение кадров, пакетов через сетевые устройства.
- Тема 11.Современные протоколы маршрути-зации
- Протоколы вектора расстояния
- Метод расщепления горизонта
- Метод временного отказа от приема сообщений
- Механизм принудительных объявлений
- Метод корректировки отмены маршрута
- Алгоритм диффузионного обновления
- Что такое хорошо и что такое плохо?
- Протокол состояния канала
- Hello! Кто здесь?
- Алгоритм Дейкстры
- Ненавязчивый сервис
- Тема 12.Неоднородные сети. Методика расчета конфигурации сети Ethernet
- Расчет pdv
- Расчет pvv
- Тема 13.Сетевые операционные системы Структура сетевой операционной системы
- Одноранговые сетевые ос и ос с выделенными серверами
- Прикладные протоколы. Ftp
- Прикладные протоколы. Telnet
- Прикладные протоколы. Snmp
- Прикладные протоколы. Smtp, pop. Nntp
- Прикладные протоколы. Icmp.
- Что такое url?
- Url образуют подмножество более общей схемы наименования uri.
- Тема 14.Требования к сети. Архитектура сети. Выбор технологии. Требования к сети.
- Критерии выбора технологии:
- Архитектура сети.
- Оценка трафика сети. Разделение на подсети.
- Подсети
- Как назначать номера сетей и подсетей. Маска подсети.
- Проект сети.
- Непрерывность работы сети. Архивы, запасные серверы, …
- Логическая структура сети. Сетевые ос. Сетевые протоколы
- Размер пакета, ячейки, кадры
- Раут - маршрутизация в подсетях.
- Тема 15.Php и другие серверные технологии.
- Динамические технологии на стороне клиента.
- Динамические технологии на стороне сервера.
- Тема 16.Распределенная обработка. Безопасность. Эффективность. Модель распределенной обработки информации.
- Безопасность информации. Базовые функциональные профили. Полные функциональные профили. Методы оценки эффективности информационных сетей.
- Сетевые программные и технические средства информационных сетей.