Server-side и client-side JavaScript совместно используют тот же самый базовый язык. Этот базовый язык соответствует ECMA-262, язык создания сценариев, стандартизированный Европейским органом стандартов, с некоторыми добавлениями. Базовый язык содержит набор основных объектов, типа объектов Array и Date. Он также определяет другие свойства языка типа выражений, инструкций и операторов. Хотя server-side и client-side JavaScript используют те же самые основные функциональные возможности, в некоторых случаях они используют их по разному. Вы можете загрузить PDF версию ECMA-262 спецификации.
Компоненты JavaScript проиллюстрированы на Рисунке 1.1.

Client-Side JavaScript
Web браузеры типа Netscape Navigator 2.0 (и более поздние версии) могут интерпретировать инструкции JavaScript client-side, внедренные в страницы HTML. Когда браузер (или клиент) требует такую страницу, сервер посылает полное содержание документа, включая инструкции HTML и JavaScript, по сети клиенту. Клиент читает страницу сверху до низу, отображает результат HTML и выполняет инструкции JavaScript, когда они встречаются. Этот процесс производит результаты, которые пользователь видит и это проиллюстрировано на Рисунке 1.2.
Рисунок 1.2 Client-side JavaScript.
Server-Side JavaScript
Server-side JavaScript также внедряется в HTML страницы. Инструкции server-side могут соединяться с реляционными базами данных различных продавцов, совместно использовать информацию независимо от пользователей приложения, обращаться к файловой системе на сервере, или связываться с другими приложениями через LiveConnect и Java. Скомпелированное JavaScript приложение может также включать client-side JavaScript в дополнение к server-side JavaScript.
В первой стадии, показанной на Рисунке 1.3, Вы (разработчик) создаете HTML страницы (которые могут содержать и client-side и server-side инструкции JavaScript) и JavaScript файлы. Вы затем компилируете все эти файлы в одну выполняемую программу.
Рисунок 1.3 Server-side JavaScript в течение разработки.
Во второй стадии, показанной на Рисунке 1.4, страница в приложении запрашивается браузером пользователя. Двигатель времени выполнения использует выполняемую программу приложения, чтобы искать источник страницы и динамически генерировать HTML страницу для возврата. Он выполняет любые инструкции server-side JavaScript, найденные на странице. Результатом этих инструкций может быть добавление новых HTML или client-side JavaScript инструкций к HTML странице. Затем посылает возникающую в результате страницу через сеть клиенту Navigator, который показывает результаты.
Рисунок 1.4 Server-side JavaScript в течение выполнения.
Объекты JavaScript
JavaScript имеет предопределенные объекты для базового языка, также как дополнения для client-side и server-side JavaScript.
JavaScript имеет следующие основные объекты:
Array, Boolean, Date, Function, Math, Number, Object, String
Следующие дополнительные client-side объекты:
Anchor, Applet, Area, Button, Checkbox, document, event, FileUpload, Form, Frame, Hidden, History, Image, Layer, Link, Location, MimeType, navigator, Option, Password, Plugin, Radio, Reset, screen, Select, Submit, Text, Textarea, Window
Эти объекты представляют информацию, уместную в работе с JavaScript в web браузере. Многие из этих объектов связаны друг с другом, встречаясь как значения свойств. Например, чтобы обратиться к изображениям в документе, Вы используете массив document.images, каждый из элементов которого объект Image. Рисунок 1.5 показывает иерархию объектов client-side.
Рисунок 1.5 Связи между объектами client-side
blob, client, Connection, Cursor, database, DbPool, File, Lock, project, request, Resultset, SendMail, server, Stproc
Как показано на Рисунке 1.6, некоторые дополнительные объекты server-side также имеют иерархию.
Рисунок 1.6 Свизи между объектами LiveWire
Защита JavaScript
Navigator версии 2.02 и более поздние автоматически предотвращают доступ сценариев на одном сервере к свойствам документов на другом сервере. Это ограничение предотвращает получение сценариями частной информации типа структуры каталогов или истории сессии пользователя.
Для информации о заражении данных и подписывании сценариев, смотрите Главу 7, "Защита JavaScript," в Руководстве по JavaScript.
Последняя Модификация: 10/31/97 12:29:51
Все мессаги сюда:yanich@inbox.ru |