Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VEB-tekhnologii.doc
Скачиваний:
5
Добавлен:
30.08.2019
Размер:
195.07 Кб
Скачать

Иерархия классов dom

Объектно-ориентированный язык предполагает наличие иерархии классов объекта.

(1)

frames – не свойство window, а отдельный подкласс

location – это URL документ

history – история визитов

Чтобы обратиться к свойству password – пишем window.document.form.password

Коллекция – это структура данных в JavaScript, похожая на массив. Отличие коллекции от массивов заключается в том, что массивы программист создает сам в коде программы и заполняет их данными. Коллекция же создается браузером и заселяется объектами, связанными с WEB-страницей.

window.document.forms[4] (идентификатор начинается с 0)

window.document.forms[‘mf’]

Где есть [] – это везде КОЛЛЕКЦИИ!!!

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

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

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

Стандарт CGI (Common Gateway Interface; Интерфейс Общего Шлюза) – представляет собой набор правил, которые определяют порядок запуска программы на компьютере-сервере, а также способов передаче программе параметров и доставки результатов ее выполнению клиенту.

Благодаря такому набору правил стало возможным писать приложения, обрабатывающие не в двоичном коде. И для разработки использовать любой ЯП.

Выполнение CGI сценария можно разделить на пять этапов:

  1. запуск программы

  2. инициализация и чтение выходных данных

  3. обработка данных

  4. вывод результатов выполнения/работы

  5. завершение программы

Веб-вервер получает от клиента запрос, анализирует его содержимое и возвращает соответствующий ответ.

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

И таким образом программа может передавать назад дополнительную информацию о результатах в формате заголовков ответа сервера.

По стандарту на сервере присутствует каталог CGI-bin в файле script.pl.

Туда посылается соответствующий запрос клиента.

Как распознается сценарий CGI:

1 способ: при установке ВЕБ-сервера создается специальный каталог для хранения сценариев (пример, CGI-bin). В таком случае, если клиент запрашивает файл, то севере запускает этот файл в виде сценария. Файлы из других каталогов интерпретируются как HTML документы.

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

28.02.2012

Передача информации по CGI сценарию осуществляется в 2 этапа: сначала браузер передает данные ВЕБ-серверу, затем ВЕБ-сервер передает их сценарию.

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

Каждый параметр представляет собой имя управляющего элемента и его значение, разделенное знаком “=”, и если в состав значения входит символ “&”, либо “=”, то он заменяется на знак “%”. Таким образом, перед использованием строки параметров ее нужно декодировать.

Алгоритм декодирования:

  1. выделить из строки параметров пары «имя = значение»

  2. выделить из каждой пары «имя» и отдельно «значение»

  3. в каждом имени и каждом значении заменить символы “+” пробелами

  4. каждую последовательность из символов “%” преобразовать в ASCII символ

При передаче данных атрибут и метод дискриптора form имеет значение GET, либо значение POST.

Эти два значения определяют различные методы передачи параметров сценарию.

Если метод имеет значение GET – строка параметров передается вместе с URL вызываемого сценария. Разделителем между URL и строкой параметров является знак “?”.

Если атрибут и метод имеется значение POST – строка параметров передается в теле HTTP запроса.

Если атрибут и метод дискриптора form имеет значение GET, строка параметр передается серверу в качестве значения переменной окружения QUERY_STRING.

При использовании метода POST данные сценария выставляются по другому.

Они передаются через стандартный поток ввода (STDIN), чтоб сценарий мог определить сколько символов следует читать из стандартного ввода.

Для этого ВЕБ-сервер устанавливает значения переменной окружения CONTENT_LENGTH равным длине строки параметров.

Получив управление, сценарий должен определить каким методом выполняется передача параметров. Данная информация содержится в переменной REQUEST_ METHOD.

Таким образом, в простейшем случае, чтобы выполнить обработки строки параметров, достаточно знать значения трех переменных окружения (REQUEST_ METHOD, CONTENT_LENGTH, QUERY_STRING).

Пример (на PERL):

$method = $ENV{‘ REQUEST_ METHOD’};

if (&method eg “GET”)

{$pars = $ENV {‘QUERY_STRING’};}

else

{$length = $ENV {‘CONTENT_LENGTH’};}

read(STDIN, $pars, $length);

print “Content-type: text/html \n\n”;

print “<HTML><BODY>\n”;

print “<P>METHOD=”, $method;

print “<P>String of parameters:<P>\n”;

print $pars;

print “</BODY></HTML>\n”;

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

REMOTE_ADDR – это переменная окружения, которая содержит ip-адрес узла, с которого поступил запрос.

REMOTE_HOST – содержит доменное имя узла, с которого поступил запрос.

SERVER_PORT – содержит номер порта, который используется при обращении к серверу.

SEVER_NAME – содержит имя или адрес узла, который выполняется на сервере.

Достоинство использования сценариев:

  1. сценарий не требует компиляции, а интерпретируется, т.е. ошибки в сценарии вызовут только диагностическое сообщение, но не приведут к дестабилизации ВЕБ-сервера или ОС.

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

  3. поддержка крос-платформенности

Что касается быстродействия:

- сценарии интерпретируется с исходным кодом динамически при каждом исполнении.

PYTHON

Высокоуровневый язык программирования общего назначения с акцентом на производительность и читаемость кода.

Язык PYTHON содержит множество полезных функций в стандартной библиотеке. Также PYTHON поддерживает структурную объектно-ориентированную функциональную императивную и аспектно-ориентированную парадигму.

PYTHON имеет основные архитектурные черты:

  1. динамическая типизация

  2. автоматическое управление памятью

  3. полная интроспекция

  4. механизм обработки исключения

  5. поддержка многопоточных вычислений

  6. удобные высокоуровневые структуры данных

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

PYTHON имеет поддержку характерную для данный платформы технологий (COM/DCOM). Даже есть специальная версия PYTHON для виртуальной машины Java и называется Jython.

PYTHON обеспечивает интеграцию с платформой .NET, основные из которых IronPython и Python.NET.

Стандартная библиотека PYTHON имеет средства для работы с многими сетевыми протоколами форматами Интернета (модули для написания HTTP серверов, клиентов, создание почтовых сообщений), для работы с XML и т.д.

Набор модулей позволяет писать крос-платформенные приложения.

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

Ruby

Интерпретируемый язык высокого уровня для быстрого и удобного объектно-ориентированного программирования.

Ruby обладает независимой реализацией от ОС (многопоточность), также строго динамической типизацией и сборщик мусора.

Ruby – полностью объектно-ориентированный язык, абсолютно все данные являются объектами. Каждая функция является методом.

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

В Ruby также можно добавлять методы не только в любые классы, но и в любые объекты.

Ruby обладает большой стандартной библиотекой, работающей с различными сетевыми протоколами, как на стороне сервера, так и на стороне клиента. Может работать с различными форматами данных (XML, PDF…).

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

В Ruby можно подключать библиотеки на языке C.

Для доступа к БД разработана специальная библиотека Ruby DBI.

Недостатки:

  1. невысокая скорость работы

  2. отсутствие поддержки потоков ОС Unix

  3. отсутствие встроенной поддержки Unicode

  4. отсутствие компиляции в байт-код

Action Script

13.03.2012

Microsoft Visual Studio.NET

Интегрированная среда разработки для создания, документирования, запуска и отладки программ, написанных на языках .NET.

Включены ЯП:

  • C++

  • C#

  • J#

  • Visual Basic

В платформу можно добавить любые другие ЯП, требованием к которым является использование единого каркаса платформы Framework.NET.

Платформа Framework.NET позволяет использовать компоненты разработанные на различных языках и разрабатывать единое приложение из нескольких частей на разных языках.

Платформа Framework.NET содержит:

  • FCL (Framework Class Library) – библиотека классов каркаса

  • CLR (Common Language Runtime) – общеязыковая исполнительная среда

В рамках платформы Framework.NET используется стандартная система типов CTS(Common Type System). Данная система описывает все типы данных, поддерживаемых средой выполнения. Кроме того, определяет взаимодействие типов данных и представляет их в метаданные.

Набор правил определяется подмножеством общих типов данных и будет использоваться на различных языках, описанных в рамках спецификации CLS (Common Language Specification).

Библиотека платформы .NET доступна из любого ЯП. Данная библиотека достигает несколько тысяч классов, поэтому в целях структуризации функционально близкие классы объединяются в группы, называемые пространством имен (Namespace).

Начальное пространство имен в C# - класс System. Далее идет разветвление, например, System.Collection. В данном случае входят классы и интерфейсы, поддерживающие работы с коллекциями объектов (списки, очереди, словари).

Эта промежуточная сборка содержит код на языке MSIL (Microsoft Intermedia Language)

Сборка содержит манифест, метаданные и инструкции IL.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]