русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Динамические технологии на стороне сервера.


Дата добавления: 2013-12-23; просмотров: 1671; Нарушение авторских прав


Динамические технологии на стороне клиента.

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

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

Итак, динамические технологии на стороне клиента: ActiveX, Java апплеты, сценарии на скрипт языках.

ActiveX объекты могут быть помещены на страницу при помощи тэга <OBJECT>. Соответствующие программы могут выполняться как на стороне сервера, так и на стороне клиента. ActiveX объекты гарантированно работают только в Internet Explorer (для других браузеров следует смотреть в документации), а в случае выполнения на сервере требуют операционной системы Windows на сервере. Такое ограничение сужает круг возможных клиентов вашей страницы, хотя такое сужение может оказаться вполне приемлемым.

Java апплеты (не путать с JavaScript) - это программы, написанные на языке Java, которые могут быть включены в HTML страницу. Выполняется программа Java - машиной.

<applet align=выравнивание alt=текст archive=сжатыйфайл class=класс code=файлапплета codebase=URL datafld=имяколонки datasrc=источникданных height=высота hspace=отступпогоризонтали id=идентификатор mayscript name=имя src=URL style=стиль title=всплывающаяподсказка vspace=отступповертикали width=ширина>



<param name=имяпараметра value=значение>

<param name=имяпараметра value=значение>

...

текст

</applet>

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

Часто бывает гораздо экономичнее производить обработку на сервере, так как при этом сильно сокращается объем сетевого трафика. Кроме того, политика безопасности может потребовать ограничить объем передаваемых данных на сторону клиента (скрытие на клиенте этих уже полученных данных при помощи свойства 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.

 



<== предыдущая лекция | следующая лекция ==>
PHP - язык разработки сценариев | Методы оценки эффективности информационных сетей.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.003 сек.