Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Достоинства и недостатки CGI



Основные достоинства и недостатки технологии CGI:

· CGI не налагает особых условий на платформу и web - сервер, поэтому работает на всех популярных платформах и web - серверах. Также технология не привязана к конкретному языку программирования и может быть использована на любом языке, работающем со стандартными потоками ввода/вывода.

· Производительность CGI - программ не высока. Основной причиной этого является то, что при очередном обращении к серверу для работы CGI – программы создается отдельный процесс, что требует большого количества системных ресурсов.

· Встроенных средств масштабируемости технология не предусматривает.

· CGI - программа представляет из себя готовый к исполнению файл, что препятствует легкому расширению системы.

 

12. Другие технологии, основанные на CGI

Интерфейс FastCGI — клиент-серверный протокол взаимодействия веб-сервера и приложения, дальнейшее развитие технологии CGI. По сравнению с CGI является более производительным и безопасным. FastCGI снимает множество ограничений CGI-программ. Недостаток CGI-программ в том, что они должны быть перезапущены веб-сервером при каждом запросе, что приводит к понижению производительности. FastCGI. Использует постоянно запущенные процессы для обработки множества запросов. Это позволяет экономить время. FastCGI-программы могут быть запущены не только на конктетном сервере, но и где угодно в сети. Также возможна обработка запросов несколькими FastCGI-процессами, работающими параллельно.

WSGI — это простой и универсальный интерфейс взаимодействия между Web-сервером и Web-приложением. Основной целью разработки WSGI была разработка простого протокола, который бы мог разделить выбор каркасов для разработки Web-приложений от выбора Web-серверов. Это позволяет разработчикам приложений (каркасов) и серверов концентрироваться на своей области специализации. С точки зрения WSGI цельное Web-приложение делится на две части: сервер (или шлюз) и непосредственно приложение (или каркас для построения приложений). WSGI также позволяет создавать приложения-посредники которые являются приложением для Web-сервера и сервером для Web-приложения. Такие посредники могут использоваться для предварительной обработки запросов к приложению, или последующей обработки его ответов.

SSI ( " включаемый на стороне сервера" ) –это директивы, которые помещаются в HTML-страницы и оцениваются на сервере, когда обращаются к страницам. Она позволяет добавлять динамически сгенерированное содержание в существующую HTML-страницу без необходимости обработки всей страницы через CGI-программу или другую динамическую технологию. Технология SSI великолепный способ для добавления маленьких кусочков информации, например, текущего времени.

Middleware

Помимо приложений и серверов, стандарт дает определение middleware-компонентов, предоставляющих интерфейсы как приложению, так и серверу. То есть для сервера middleware является приложением, а для приложения — сервером. Это позволяет составлять «цепочки» WSGI-совместимых middleware.

Middleware могут брать на себя следующие функции:

· обработка сессий

· аутентификация/авторизация

· управление URL (маршрутизация запросов)

· балансировка нагрузки

· пост-обработка выходных данных

 

13. Технология ASP

ActiveServerPages- это среда программирования, которая обеспечивает возможность комбинирования HTML, скриптов и компонент для создания динамических Web-приложений. Возможность встраивания в Web-страницы скриптов позволяет логичным образом объединить оформление с данными, полученными из различных источников, например, из БД.

Принципы функционирования

Использование ASP не требует специфичных браузеров. Все ASP-скрипты запускаются и выполняются на Web-сервере, причем брaузер получает только результирующие HTML-файлы.

Последовательность функционирования ASP: Клиент запрашивает ASP-страницу на Web-сервере. Сервер принимает запрос и начинает его обрабатывать. По расширению файла (.asp) определяет, что данный файл содержит ASP-скрипт, и начинает анализировать его содержимое, последовательно интерпретируя и выполняя вставки ASP-кода. ASP-код, в свою очередь, может содержать обращения к различным источникам данных, осуществлять обработку полученных данных и добавлять содержимое генерируемой страницы. В результате формируется обычная HTML-страница (уже не содержащая ASP-кода), которая и отправляется обратно клиенту. Аналогичным образом передаются параметры (формат-строки запроса) и осуществляется вывод результатов. При каждом запросе не происходит отдельной загрузки ASP-интерпретатора.

Объекты и компоненты

Существует набор встроенных объектов, которые инициализируются и предоставляются ASP-скрипту автоматически при начале обработки. Эти объекты обеспечивают доступ к основным жизненно важным функциям:

· Объект Application позволяет создавать переменные, доступные всем пользователям Web-приложения.

· Объект Session позволяет сохранять данные, связанные с отдельным пользователем.

· Объект Request предоставляет параметры CGI-запроса, отправленные методом POST или GET.

· Объект Response предоставляет методы для добавления информации, а также для формирования заголовков страницы ответа Web-сервера.

· Объект Server содержит множество различных методов, одним из которых является метод CreateObject, позволяющий создавать экземпляры компонент ActiveX.

В отличие от встроенных ASP-объектов, ASP-компоненты явно необходимо создавать в коде скрипта. Существует огромное количество ActiveX-компонент, которые можно использовать в ASP-страницах. В рамках функционирования Web-приложения существует возможность создания обработчиков основных событий, таких как запуск и остановка Web-приложения, а также открытие и закрытие пользовательской сессии. Эти события описываются в специальном ASP-файле global.asa.

Средства разработки

Создавать ASP-страницы можно в любом текстовом редакторе, но это далеко не всегда удобно. Помимо написания кода на VBScript, необходимо осуществлять его отладку, что возможно только на функционирующем Web-сервере (IIS) и при наличии специальных средств. MicrosoftVisualInterDev 6.0 является одним из лучших средств, которое позволяет не только быстро и эффективно создавать ASP-код, но и осуществлять расширенную отладку кода.

Существуют также и другие специализированные редакторы, позволяющие разрабатывать ASP-приложения, например, HomeSite 4.5, MacromediaUltraDev 4.0 или ASP Express. Однако эти средства не полностью охватывают возможности VisualInterDev.

 

 

14. Технология AJAX

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

Принципы функционирования

AJAX базируется на технологии обращения к серверу без перезагрузки страницы или использовании DHTML, позволяющего динамически изменять содержимое. Формат передачи данных – XML или JSON. AJAX можно реализовать в разных языках программирования: PHP, RubyonRails, ASP.NET и других. В коде web-страниц широко используется JavaScript для прозрачного обмена данными клиента с сервером. Пользователи взаимодействуют со стандартными HTML элементами, динамическое поведение которых описывается на JavaScript.

Преимущества:

· Увеличение реакции интерфейса

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

· Уменьшение нагрузки на сервер

· Экономия трафика

Недостатки:

· Поисковая оптимизация

Поисковые машины не могут выполнять JavaScript, поэтому разработчики должны позаботиться об альтернативных способах доступа к содержимому сайта.

· Интеграция со стандартными инструментами браузера

Динамически создаваемые страницы не регистрируются браузером в истории посещения страниц, поэтому не работает кнопка «Назад».

 

15. Веб-сервер. Необходимое программное обеспечение

Веб-сервер — это сервер, принимающий HTTP-запросы от клиентов, обычно веб-браузеров, и выдающий им HTTP-ответы, обычно вместе с HTML-страницей, изображением, файлом, медиа-потоком или другими данными. Клиент, которым обычно является веб-браузер, передаёт веб-серверу запросы на получение ресурсов, обозначенных URL-адресами. Ресурсы — это HTML-страницы, изображения, файлы, медиа-потоки или другие данные, которые необходимы клиенту. В ответ веб-сервер передаёт клиенту запрошенные данные. Этот обмен происходит по протоколу HTTP.

WAMP — акроним, обозначающий набор (комплекс) серверного программного обеспечения, широко используемый с целью разработки, предоставления веб-сервисов. WAMP назван по первым буквам входящих в его состав компонентов:

· Windows— операционная система от компании Microsoft;

· Apache — веб-сервер;

· MySQL — СУБД;

· PHP— язык программирования, используемый для создания веб-приложений.

Пакеты программ, которые позволяют начать работать сразу после установки:

· XAMPP

· Денвер

· EasyPHP

· VertrigoServ

· WampServer

· MoWeSPortable

· AppServ

Denwer - набор дистрибутивов и программная оболочка, предназначенные для создания и отладки сайтов (веб-приложений, прочего динамического содержимого интернет-страниц) на локальном ПК (без необходимости подключения к сети Интернет) под управлением ОС Windows. Главная особенность Денвера — удобство при удаленной работе сразу над несколькими независимыми проектами и возможность размещения на Flash-накопителе. Базовый пакет включает в себя:

· Веб-сервер Apache с поддержкой SSI, SSL, mod_rewrite, mod_php.

· Интерпретатор PHP с поддержкой GD, MySQL, SQLite.

· СУБД MySQL с поддержкой транзакций (mysqld-max).

· Система управления виртуальными хостами, основанная на шаблонах.

· Система управления запуском и завершением.

· Панель phpMyAdmin для администрирования СУБД.

· Ядро интерпретатора Perl без стандартных библиотек (поставляются отдельно).

· Эмулятор sendmail и сервера SMTP с поддержкой работы совместно с PHP, Perl, Parser и др.

· Установщик.

LAMP — акроним, обозначающий набор (комплекс) серверногопрограммного обеспечения, широко используемый во Всемирной паутине. LAMP назван по первым буквам входящих в его состав компонентов:

· Linux — операционная система Linux;

· Apache — веб-сервер;

· MySQL — СУБД;

· PHP — язык программирования, используемый для создания веб-приложений (помимо PHP могут подразумеваться другие языки, такие как Perl и Python).

 

16. HTTP серверы.

Основная задача HTTP сервера - это ожидание запросов от клиентов и отправка им ответов.

Взаимодействие с клиентами происходит по протоколу HTTP. Клиент (обычно веб-браузер) запрашивает ресурс (обычно HTML файл или графический файл). Сервер связывает запрос с файлом или направляет запрос программе, которая генерирует необходимые данные. После этого сервер отсылает ответ обратно клиенту.

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

1.Физический сервер связан с множеством IP адресов, и каждый IP адрес используется одним логическим сервером.2.Физический сервер связан с одним IP адресом, а логические серверы используют разные порты. 3.Физический сервер связан с одним IP адресом. Несколько доменных имен связываются с этим IP адресом. Все логические веб-сервера прослушивают один единственный порт. Сервер различает запросы, используя поле HOST, которое является обязательным в HTTP запросах в HTTP версии 1.1.

Кеширование - это технология, применяемая для временного сохранения копий запрошенных документов либо на стороне клиентских приложений, либо на прокси-серверах, находящихся между клиентом и сервером. Прокси-сервер - это хост, играющий роль передающего агента для HTTP запроса. Клиент, сконфигурированный на использование прокси-сервера, никогда не запросит документы у веб-сервера напрямую. С каждым запросом он открывает соединение с указанным прокси-сервером и запрашивает у него доставить документ. Если прокси-сервер не имеет запрошенного документа, то он отправляет запрос далее. Прокси-сервер может быть сконфигурирован на использование другого прокси-сервера. Технология использования нескольких прокси-серверов называется ‘каскадом серверов’. Прокси-сервера используются по двум причинам: 1.Клиенты могут быть не в состоянии соединиться с веб-сервером напрямую. 2. Кеширующие прокси-сервера часто используются из-за соображений сохранения производительности и повышения пропускной способности сети.

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

HTTP сервер сперва проверяет, ограничен ли доступ к ресурсу. Если эти ограничения применяются к пользователям, тогда сервер запрашивает данные идентификации от клиента для проверки его прав.

После этого сервер проверяет, разрешают ли правила авторизации доступ к ресурсу данному пользователю.

Методы идентификации: 1.Идентификатор пользователя (User ID) и пароль. Пользователь сообщает серверу свой ID и секретный пароль. Сервер проверяет их, используя базу пользователей. Если они совпадают, то пользователь идентифицирован успешно. 2. Цифровая подпись. Пользователь предоставляет сертификат, удостоверяющий его личность. Должны быть механизмы, чтобы убедиться, что только этот пользователь, и никто другой не может предоставить данный сертификат.

Есть два пути получения сервером данных идентификации: HTTP идентификация; HTML формы, java-апплеты и скрипты.

 

 

17. Apache HTTP-сервер.

Apache является кроссплатформенным ПО, поддерживает операционные системы Linux, BSD, MacOS, MicrosoftWindows, NovellNetWare, BeOSApache позволяет: подключать внешние модули для предоставления данных,

использовать СУБД для аутентификации пользователей, модифицировать сообщения об ошибках и т. д.

Ядро Apache включает в себя основные функциональные возможности, такие как обработка конфигурационных файлов, протокол HTTP и система загрузки модулей. Ядро (в отличие от модулей) полностью разрабатывается ApacheSoftwareFoundation, без участия сторонних программистов.Теоретически, ядро apache может функционировать в чистом виде, без использования модулей.Ядро Apache полностью написано на языке программирования C.

Система конфигурации Apache основана на текстовых конфигурационных файлах. Имеет три условных уровня конфигурации: Конфигурация сервера (httpd.conf).; Конфигурация виртуального хоста; Конфигурация уровня директории (.htaccess).

Имеет собственный язык конфигурационных файлов, основанный на блоках директив. Практически все параметры ядра могут быть изменены через конфигурационные файлы, вплоть до управления MPM (мультипроцессорные модели).

Apache HTTP Server поддерживает модульность. Существует более 500 модулей, выполняющих различные функции. Модули могут быть, как включены в состав сервера в момент компиляции, так и загружены динамически, через директивы конфигурационного файла.В модулях реализуются такие вещи, как: Поддержка языков программирования, Добавление функционала, Исправление ошибок или модификация основных функций, Усиление безопасности.

Часть веб-приложений, например панели управления ISPmanager и VDSmanager реализованы в виде модуля Apache.

Apache имеет встроенный механизм виртуальных хостов. Он позволяет полноценно обслуживать на одном IP-адресе множество сайтов (доменных имён), отображая для каждого из них собственное содержимое.

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

Также, существуют модули, позволяющие учитывать и ограничивать ресурсы сервера (CPU, RAM, трафик) для каждого виртуального хоста.

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

К ним относятся: PHP (mod_php).Python (mod python, modwsgi).Ruby (apache-ruby).Perl (modperl).ASP (apache-asp).

Кроме того, Apache поддерживает механизмы CGI и FastCGI, что позволяет исполнять программы на практически всех языках программирования, в том числе C, C++, sh, Java.

Apache имеет различные механизмы обеспечения безопасности и разграничения доступа к данным. Основными являются:

1 Ограничение доступа к определённым директориям или файлам.

2 Механизм авторизации пользователей для доступа к директории по методу HTTP-Авторизации (mod_auth_basic) и digest-авторизации (mod_auth_digest).

3 Ограничение доступа к определённым директориям или всему серверу, основанное на IP-адресах пользователей.

4 Запрет доступа к определённым типам файлов для всех или части пользователей, например запрет доступа к конфигурационным файлам и файлам баз данных.

5 Существуют модули, реализующие авторизацию через СУБД или PAM.

Также, существует механизм suexec, используемый для запуска скриптов и CGI-приложений с правами и идентификационными данными пользователя.

Для реализации шифрования данных, передающихся между клиентом и сервером используется механизм SSL, реализованный через библиотеку OpenSSL.

Существуют внешние средства обеспечения безопасности, например mod_security.

 

18. СУБД MySQL.

MySQL - это система управления реляционными базами данных.

База данных представляет собой структурированный набор данных.

Она может содержать различную информацию.

Реляционная база данных хранит информацию в отдельных таблицах, а не в одном большом хранилище, благодаря чему достигается высокая производительность и гибкость. Часть " SQL" слова " MySQL" обозначает " Язык структурированных запросов".

SQL- наиболее общий стандартизованный язык доступа к базам данных; он соответствует стандарту ANSI/ISOSQL.


Поделиться:



Последнее изменение этой страницы: 2017-03-17; Просмотров: 2204; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.037 с.)
Главная | Случайная страница | Обратная связь