бесплатные рефераты

Структура, принципы функционирования и технологии глобальной информационной сети

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

показано на рис.12.

Рис.12. Различные схемы «Клиент-Сервер» для информационных сервисов Интернет

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

1.3.3. Недостатки протоколов

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

Система имен доменов (Domain Name System - DNS) представляет собой распределенную базу данных, которая преобразует имена пользователей и хостов в IP-адреса и наоборот. DNS также хранит информацию о структуре сети компании, например количестве компьютеров с IP-адресами в каждом домене. Одной из проблем DNS является то, что эту базу данных очень трудно "скрыть" от неавторизованных пользователей. В результате, DNS часто используется хакерами как источник информации об именах доверенных хостов.

FTP (File Transfer Protocol) обеспечивает передачу текстовых и двоичных файлов, поэтому его часто используют в Интернет для организации совместного доступа к информации. На FTP-серверах хранятся документы, программы, графика и любые другие виды информации. Некоторые FTP-серверы ограничивают доступ пользователей к своим архивам данных с помощью пароля, другие же предоставляют свободный доступ (так называемый анонимный FTP-сервис). Если вы используете опцию анонимного FTP для своего сервера, то должны быть уверены, что на нем хранятся только файлы, предназначенные для свободного распространения.

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

SMTP (Simple Mail Transfer Protocol) - протокол, позволяющий осуществлять почтовую транспортную службу Интернет. Одна из проблем безопасности, связанная с этим протоколом, состоит в том, что пользователь не может проверить адрес отправителя в заголовке сообщения электронной почты. В результате хакер может послать в вашу сеть большое количество почтовых сообщений, что приведет к перегрузке и блокированию работы вашего почтового сервера.

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

Как уже говорилось, стек TCP/IP представляет собой набор протоколов, которые используются в Интернет и интрасетях для передачи пакетов между компьютерами. При передаче информация заголовков пакетов может подвергнуться нападению хакеров. Например, хакеры могут подменить адрес отправителя в своих пакетах, после чего они будут смотреться как пакеты, передаваемые авторизованным клиентом.

1.3.4. Программное обеспечение для работы в сети

Для использования информационных ресурсов Интернета необходимо определенное программное обеспечение. Для просмотра html-документов необходима программа, динамически обрабатывающая код HTML и отображающая web-страницы. Такая программа называется браузером (от англ. browser). Выделяют два основных класса браузеров: браузеры с поддержкой отображения графических элементов web-страниц и браузеры без такой поддержки. Большинство современных браузеров работают с графикой, включая flash анимацию и видео.

Самыми популярными браузерами являются Microsoft Internet Explorer и Netscape Navigator, предназначенные для работы в среде Microsoft Windows. Менее распространены Opera, Arache (работает под управлением DOS) и текстовый браузер для UNIX-совместимых платформ под названием Lynx.

Следует отметить, что браузеры имеют разные встроенные интерпретаторы HTML, из-за чего один и тот же html-документ может отображаться в них по-разному. Ощутимые различия наблюдаются не только между клиентским программным обеспечением разных производителей, но и между двумя версиями одной и той же программы. Самые существенные расхождения в алгоритмах обработки кода HTML имеются в двух наиболее популярных браузерах, созданных компаниями, которые никак не могут договориться между собой, чтобы достичь соответствия в отображении их продукцией интернетовских web-страниц. Речь об Интернет Explorer и Netscape Navigator.

Глава II. Интернет-технологии

2.3. Наиболее популярные Интернет-технологии

2.3.1. Язык HTML

Сервис World Wide Web объединяет каналы передачи связной информации по всему земному шару. Язык HTML (HyperText Markup Language) предоставляет простой формат для предоставления этой информации. Для безконфликтной работы необходимо, чтобы все программы, совместимые с WWW, могли поддерживать язык HTML. Сервис WWW использует HTTP протокол, который позволяет передавать кодированную информацию между клиентом и сервером.

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

Язык разметки гипертекста HTML берет свое начало от языка стандартной обобщенной разметки (Standard Generalized Markup Language - SGML). Язык SGML используется для создания структурированных документов, а также языков для их разметки. SGML можно считать глобальным стандартом для описания языков разметки гипертекста, таких, как HTML. Документы SGML являются программно- и аппаратно-независимыми, они не привязаны к какой-либо конкретной программе, компьютеру или устройству вывода. SGML был одобрен ISO (International Standard Organization - Международная организация стандартов) в 1986 г. и является стандартом для многих коммерческих и государственных систем создания документов.

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

Язык разметки HTML обычно используют для представления:

· новостей, почты, рекламы, текстов;

· меню с опциями;

· результатов запросов к базам данных;

· простых структурированных документов со встроенной графикой;

· обзоров имеющейся информации.

Для описания html-документа используется тэговая модель, которая описывает документ как совокупность тегов-контейнеров, внутри которых заключаются информационные объекты (контент). Язык гипертекстовой разметки - это система для разметки текста с помощью команд форматирования. Нечто, заключенное в <угловые скобки>, называется тэг, считается командой и не отображается.

Например, <Т> используется для начала отображения курсива и </Т> для окончания. Некоторые команды требуют наличия начального и конечного тэгов, как например как например <BR> (разрыв), этого не требуют. Интерпретация тэгов не зависит от регистра символов; <BR> и <br> интерпретируется одинаково.

Следующие шесть строк появляются практически во всех Web-страницах:

<HTML>

<HEAD>

</HEAD>

<BODY>

</BODY>

</HTML>

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

· <HTML> и </HTML> отмечают начало и конец страницы.

· <HEAD> и </HEAD> отмечают начало и конец заголовка в неотображаемой браузером части страницы.

· <BODY> и </BODY> отмечают отображаемую область страницы.

Когда тэг имеет несколько параметров, они отделяются друг от друга символами пробела, табулятора, конца строки или любой их комбинацией, например:

<IMG SRC="picture.gif">

Первый параметр определяет тип тэга: IMG означает ссылку на изображение. SRC="picture.gif" показывает URL файла, в котором размещено изображение. Браузер отображает этот файл вместо тэга.

IMG и SRC разделены между собой пробелом. Ниже приведен несколько более сложный тэг:

<font face="Arial Narrow" size = 2 color=#FF0000>

Браузер отображает все, что расположено между этим тэгом и замыкающим последовательность <FONT> тэгом красным цветом и относительно малого размера. Без кавычек браузер определил бы атрибут FACE тэга <FONT> как Arial и потерял бы Narrow как нечто непонятное.

Магическая строка #FF0000 означает красный цвет, поскольку каждая пара шестнадцатиричных цифр отвечает за интенсивность красного, зеленого и голубого в суммарном цвете. FF (255 в десятичной нотации) означает наиболее интенсивный цвет; 00 - нулевой.

Ниже приводятся сайты на которых размещена полная документация по всем возможностям HTML.

Microsoft

http://msdn.microsoft.com/workshop/entry.asp

Netscape

http://developer.netscape.com/library/documentation/communicator/

World Wide Web Consortium

http://www.w3.org/MarkUp

2.3.2. Таблицы каскадных стилей

Даже с такими тэгами, как <В> (жирный), <I> (курсив) и <FONT> HTML поддерживает ограниченные возможности в отображении текста. В течении многих лет Web-дизайнеры требовали больших возможностей по управлению текстом и, наконец, дождались появления Cascading Style Sheets (CSS) - таблиц каскадных стилей.

Таблица стилей единожды описывает специфический формат, присваивает ему имя, и далее он употребляется там, где потребуется. В HTML вы можете определить стиль, например, так:

<style> <!-- .warning {font-family: Arial Narrow, sans-serif; font-size: 10pt; color: rgb(255,0,0)}

</style>

CSS-имена (селекторы), которые начинаются с точки - это определяемые пользователем имена классов. Селекторы, которые начинаются с букв, называются типами и переопределяют встроенные HTML-стили, такие как Р (параграф) или В (жирный шрифт).

Атрибуты класса определяют стиль по имени, которое назначается свойству между тэгами <STYLE> и </STYLE>. Атрибут STYLE определяет свойства CSS для тэга, который его содержит.

Мы определили стиль warning, который применяет для любого текста шрифт Arial Narrow, а если он недоступен, то использует любой рубленый шрифт, доступный браузеру. Текст отображается размером в 10 пунктов и красным цветом.

Заметьте, что синтаксис CSS несколько отличается от HTML. <STYLE> и </STYLE> тэги дают команду браузеру прекратить интерпретацию HTML и начать интерпретировать таблицы стилей.

· <!-- и --> - это тэги комментариев в HTML. Если браузер старой версии не может интерпретировать <STYLE> и </STYLE> тэги, то он пропустит все, что заключено в комментарии,

· Имена стилей не имеют параметров; CSS «знает», что .warning - имя стиля, расположенного в данной позиции.

· Параметры стилей заключаются в <угловые скобки>.

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

· В качестве оператора присвоения используется двоеточие вместо знака равенства.

· Атрибут CLASS вызывает предопределенный CSS-стиль. Ниже приведен HTML-код, присваивающий все установки класса warning абзацу:

<Р CLASS="warning">

Атрибут STYLE определяет CSS атрибуты для ранжирования тэгов. Код, приведенный ниже, дает команду отображать текст в рамке шириной в один пиксел:

<border: 1px solid>

Свойства таблиц каскадных стилей подвергаются многократным переопределениям, прежде чем браузер отобразит текст. На самом верхнем уровне браузер имеет заданные по умолчанию свойства стиля для каждого тэга HTML. Они могут переопределяться в первую очередь свойствами стиля в секции <HEAD>, затем посредством атрибутов, назначенных контейнерам, таким как диапазоны, разделы, таблицы и абзацы, затем атрибутами, назначенными отдельным тэгам. Поэтому-то таблицы и называются каскадными.

Наследование обеспечивает другой пример каскадирования. Суть в том, что некоторые встроенные селекторы, например как TD, наследуют большинство своих стилевых свойств от других селекторов, таких как Р. И, следовательно, изменение свойств селектора Р повлечет за собой изменение селектора TD.Ссылка.

На приведенных ниже сайтах размещена документация о возможностях и использовании CSS.

Microsoft: http://msdn.microsoft.com/workshop/author/css/reference/attributes.asp

World Wide Web Consortium: http://www.w3.org/Style/CSS/

CSS понимает разные единицы измерения для различных устройств: рх для пикселов, pt для точек, in и cm для дюймов и сантиметров, % для процентов и т. д.

Новшества в управляющих элементах CSS относятся не только к форматированию, но и к позиционированию. Следующие стилевые свойства размещают текст на 50 пикселов от верхнего края страницы и на 100 пикселов от левого края страницы:

<span style="position; absolute; top: 50px; left: 100px;">

И где я теперь?

</span>

2.3.3. Использование шрифтов на электронных страницах

В те давние времена, когда принтеры имели всего один шрифт, и тот только с прописными буквами, и выводили текст на перфорированную бумагу стандартного размера, проблем со шрифтами не было. Шрифты на первых персональных компьютерах воспринимались как экзотика, но как только речь зашла о совместимости и переносимости, шрифты стали вечной головной болью Web-дизайнеров и системных администраторов.

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

Когда Windows стали поддерживать TrueType-шрифты, стало полегче. Соответствующий диалог показываеттолькоте шрифты, которые могут быть отображены, и Windows может отобразить эти шрифты любым размером. CSS предоставляют широкие возможности управления шрифтами. К сожалению, вы никогда не знаете, какие именно шрифты установлены у пользователя, открывшего созданную вами Web-страницу. Круг замкнулся: мы определяем шрифты для ввода, но не для вывода. Шрифты должны размещаться непосредственно на Web-сайтах, чтобы посетители могли загрузить их при необ-ходимости. Тогда не придется конвертировать текст в графику, время загрузки уменьшится, а посетители увидят страницы такими, какими их создал автор. Однажды, я надеюсь, будет найден устраивающий всех способ загрузки шрифтов, так же, как сейчас существует способ загрузки изображений. А пока загляните на следующие Web страницы:

http://www.microsoft.com/opentype - домашняя страница Microsoft, посвященная шрифтам в Web. ОреnТуре - совместная инициатива Microsoft и Adobe, цель которой - разработать единый формат загружаемого шрифта, совместимый с PostScript и TrueType стандартами.

http://www.truedoc.com/ - домашняя страница TrueDoc, изобретения фирмы Bitstream Inc., основателя цифрового набора. Web-дизайнеры могут конвертировать шрифты на своих компьютерах в TrueDoc-файлы и размещать их на Web-сайтах. Удаленные браузеры загружают TrueDoc-файлы и используют их для отображения страниц с этих сайтов.

Одновременно с созданием TrueDoc-файлов вы определяете имя сайта одним из двух возможных способов; указывая абсолютный адрес (http://www.whatever.com) или относительный путь (-/whoever/). Таким образом, использование TrueDoc-файлов для просмотра других сайтов становится невозможным. Bitstream ввела это ограничение для того, чтобы хозяева каждого Web-сайта могли приобретать только те шрифты, которые они используют. К сожалению, если пользователь посещает несколько сайтов, разработанных с использованием одинаковых TrueDoc-шрифтов, шрифты будут загружаться многократно.

Bitstream поддерживает и распространяет несколько TrueDoc-шрифтов свободно, на тот случай, если вы не хотите указывать домашнюю страницу Sitstream как место размещения шрифтов. На их сайте также поддерживается компонент ActiveX, который делает Internet Explorer совместимым с TrueDoc.

http://www.netscape.com/communicator/version4.0/dynfonts - описывает то, как Netscape поддерживает загружаемые шрифты. В основном Netscape адаптировал TrueDoc-файлы и встроил их в Navigator 4.0 и выше.

http://www.hexmac.com/index2.html - домашняя страница утилиты Typograph, которая конвертирует шрифты в вашей системе в TrueDoc-формат. (Будьте аккуратны, поскольку не со всеми шрифтами разрешены такие преобразования).

2.3.4. Язык VRML

Формат HTML был разработан для представления в WWW статической текстовой и графической информации и позволил приблизить внешний вид WWW-страниц к виду хорошо иллюстрированных журналов. Но аппетит приходит во время еды, и у пользователей WWW возникло естественное желание получать информацию в виде подвижной и трехмерной графики, с которой они привыкли работать на локальных компьютерах (например, проводя досуг за компьютерными играми). Появившийся формат VRML (Virtual Reality Modelling Language, Язык моделирования виртуальной реальности) предназначен для представления подвижных объектов и трехмерного моделирования при работе с сервисом WWW.

Основная идея VRML состоит в том, что вместо готовых растровых изображений по сети от сервера к клиенту передается лишь набор инструкций и данных, позволяющий программе-клиенту синтезировать изображение. Это существенно снижает объем трафика и делает реальной передачу информации о подвижных трехмерных объектах.

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

2.3.5. Язык XML

Технология XML представляет собой нечто большее, чем просто способ представления Web-страниц, с помощью XML набор документов превращается в базу данных. Содержимое документа XML располагается между стандартными тэгами; столь строгая структура кода позволяет всем приложениям без труда выбирать и использовать в своих целях это содержимое. Каждый документ XML становится хранилищем данных, к которому можно обращаться с запросами подобно тому, как можно было бы обратиться к любой БД. К сожалению, правила, регламентирующие порядок упаковки данных, на Web-страницах и методы обработки этих, данных до сих пор не определены и не систематизированы. Результат? Интернет сегодня представляет собой беспорядочную и причудливую смесь технологий HTML, JavaScript и Java на клиентских системах и крайне широкий набор компилируемых языков и языков сценариев на стороне сервера.

XML позволяет разобраться в этих нагромождениях и, упорядочив хаос, организовать его в единую унифицированную сеть. Данные, которые ранее были бессистемно разбросаны по страницам HTML, теперь размещаются на строго структурированных документах XML. Браузеры пятого поколения, выпущенные компаниями Netscape Communications и Microsoft, поддерживают спецификации XML и способны обрабатывать информацию гораздо эффективнее по сравнению со своими предшественниками, которые манипулировали лишь конструкциями HTML.

Эти данные правильно интерпретируются не только браузерами, но и другими XML-совместимыми приложениями. Новое поколение служб электронного обмена данными (EDI) способно связать при помощи средств XML различные бизнес-процедуры, определить соответствующие API-интерфейсы и форматы сообщений.

Некоторым же она представляется упрощенной версией доброго старого стандартного языка обобщенной разметки SGML, который, собственно, и положил начало HTML. И хотя и в том и в другом утверждении есть доля истины, XML нельзя считать обычным представителем когорты языков гипертекстовой разметки. Данная технология быстро превращается в основную движущую силу развития объектно-ориентированной Паутины.

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

Хотя язык HTML создан на основе спецификаций SGML DTD, браузеры никогда не отличались их однозначной интерпретацией. Впрочем, на начальном этапе развития Интернет эту неопределенность можно было считать достоинством. Web-страницы не ограничивали полета творческой фантазии, и любой пользователь мог погрузиться в игру с Web. Но сейчас, когда HTML получил статус официального языка Сети, подобные вольности уже недопустимы.

XML придает технологии SGML дополнительную строгость и точность, не ограничивая возможность манипулирования огромным количеством HTML-страниц, накопленных в Интернет к сегодняшнему дню. Этого удалось добиться за счет упрощения правил определения DTD(спецификации определений типов документов -Document Type Definitions). Таким образом, чтобы добиться совместимости миллиардов уже размещенных в Интернет страниц HTML со спецификациями XML, достаточно приложить минимум усилий.

Вот, например, типичный фрагмент HTML:

<img src=/img/fig1.jpg>

Эквивалентная конструкция на языке XML будет выглядеть так:

<img src="/img/fig1.jpg"/>

Внесение небольших изменений превращает конструкции HTML в код XML. Заключение атрибута /img/fig1.jpg, представляющего собой ссылку на графический файл fig1.jpg, в кавычки и добавление в конце косой черты позволяет избежать двусмысленности при автоматическом синтаксическом анализе операторов XML. Страницу XML (так же, как и весь документ) можно считать базой данных, поскольку каждое идентифицируемое в процессе синтаксического анализа поле содержит специфическую информацию, которая распознается, обрабатывается и преобразуется в нужный вид другими приложениями.

Интернет Explorer 5.0 способен преобразовать страницу XML в объект, который можно непосредственно обрабатывать средствами таблиц стилей Extensible Stylesheet Language (XSL). Допускается также косвенная обработка за счет извлечения нужных фрагментов страницы при помощи сценариев Microsoft VBScript или ECMAscript и последующего встраивания их в модель Document Object Model браузера. Браузер Netscape версии 5.0 обладает аналогичными возможностями.

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

Со временем XML найдет себе применение при определении служебных API-интерфейсов, предназначенных для интеграции информационных систем деловых партнеров.

На Web-узле английской компании Harvey Bowring Online, специализирующейся на страховании кредитов, используют инструментарий GlobalAccess, разработанный компанией D&B. На каждом этапе работы узла, как данные, так и протоколы запросов и ответов представляются в терминах XML. Это означает следующее. Система может работать где угодно. В технологии электронного обмена данными (EDI) для D&B нет ничего нового. Компания применяет ее уже в течение многих лет. Однако как D&B, так и ее клиенты не могут и, вероятно, не смогут получить глобальный доступ к сетям EDI.

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

Для доступа к данным браузер и приложения используют одни и те же унифицированные технологии. Гарантией совместимости является управление протоколами средствами XML DTD.

Интероперабельность. Несмотря на то, что система объединяет сервер WebMethods на узле D&B и набор инструментов D&B на узле Bowring, все ее составные части могут взаимодействовать и с другими средствами, поддерживающими XML.

Для развития объектно-ориентированной WWW предполагалось использовать технологии DCOM, CORBA и Интернет Inter-ORB Protocol. Однако им не удалось справиться с тем, что, оказалось, по силам XML - с его помощью XML можно не только проектировать Web-страницы, но и решать гораздо более сложные задачи.

2.3.6. JavaScript

Для сложных Web-страниц вам понадобится;

· отображать изменяющиеся данные, такие как текущее время пли дата;

· программировать переменное содержание в зависимости от даты, браузера пользователя или других условий;

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

Все, что связано с обработкой прерываний, требует программирования. Для простоты вы вставляете кусочки своих программ в последовательность HTML и CSS-кодов. Вот так:

<script language=”JavaScripts”>

<!-- document.write("URL=" + document.location); //-->

</script>

Тэг <SCRIPT> сообщает браузеру, что внутри HTML размещен код JavaScript. Тэг </SCRIPT> отменяет действие. <!-- и --> тэги сообщают браузерам, которые не могут интерпретировать <SCRIPT> и </SCRIPT>, что строки кода следует рассматривать как комментарии. Двойная косая черта (//) перед тэгом --> - знак комментария в языке JavaScript; без него JavaScript интерпретирует --> как ошибочный оператор.

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

Document.write - метод, который прописывает HTML в Web-страницу как при программировании вручную. Прописанная «вручную» строка URL= дополняется содержанием переменной document.location (перемен-ная класса документ). В данном случае это адрес текущей Web-страницы.

Каждый JavaScript-оператор должен заканчиваться точкой с запятой. Отсутствие точки с запятой JavaScript считает ошибкой. Логические выражения должны быть заключены в круглые скобки, а блоки операторов -в фигурные скобки. Например, оператор if будет выглядеть так.

If (navigator.platform == “Win32”) {

dоcument.write("Windows");

winplat = "y";

}else {

document.write ("Other");

winplat = "n";

}

Этот фрагмент кода выполняет строки 2 и 3, если свойство platform объекта navigator равно Win32, и выполняет строки 5 и 6 в противном случае. JavaScript использует знак == как логический оператор эквивалентности и знак = в качестве оператора присваивания. Попытка сравнения с использованием знака равенства ( = ) - вторая причина ошибок в JavaScript.

Заметьте, что в третьей строке переменная winplat определяется при первом появлении. Если вы перепутаете имя переменной, никаких сообщений об ошибке не последует. JavaScript просто создаст новую переменную. Это третий источник ошибок в JavaScript, поскольку этот язык чувствителен к регистру. Для JavaScript переменные Cool и cool - разные.

Поскольку в JavaScript отсутствует строгое определение типов, переменные принимают тип в зависимости от того, что им присваивается. Если вы храните в переменной число, вы можете использовать переменную как числовую или как строковую. Величины, содержащие нечисловые сим-волы, могут использоваться только как строки.

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

curDt = new Date();

Создаваемый объект одновременно инициализируется текущей датой. Такой объект наследует множество полезных методов. Например, ниже показано, как использование метода getDay объекта curDt возвращает день недели:

curDay = curDt.getDay ()

На этих сайтах размещена полная документация по JavaScript

Microsoft: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/js56jsoriJScript.asp

Netscape: http://developer.netscape.сот/library/documentation/communicator

2.3.7. VBScript

В ответ на появление JavaScript Microsoft выпустила версию своего популярного языка программирования Visual Basic. В целом VBScript делает то же самое, что JavaScript, только программный код очень похож на Visual Basic. VBScript отличается от JavaScript следующим:

· в конце оператора не ставится точка с запятой;

· знак равенства используется как для присвоения значений переменным, так и для выполнения операции сравнения;

· блоки операторов выделяются не фигурными скобками, а парами ключевых слов if...endif, doloop, и while...wend.

Так же как в JavaScript, переменные вводятся по мере необходимости, а их тип определяется по контексту. VBScript поддерживает почти все встроенные функции Visual Basic. На Web-страницах VBScript выглядит следующим образом:

<script language="VBScript">

<!--

document.write("URL=" + document.location)

-->

</script>

За подробной информацией о VBScript обратитесь на сайт http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/vtoriVBScript.asp

Тэги <SCRIPT> и </SCRIPT> практически такие же, как и раньше, а язык определяется как VBScript. Тэги <!-- и --> - те же самые, но без знака комментариев //.

VBScript поддерживает document.write, метод в точности так же, как и JavaScript, но не требует ставить точку с запятой в конце оператора.

Основной недостаток VBScript состоит в том, что его поддерживает только Internet Explorer. Это уничтожает всякую надежду использовать одну и ту же страницу как для пользователей Netscape Navigator, так и для пользователей Internet Explorer. По этой причине использование VBScript для программирования на стороне клиента ограничено.

2.3.8. Динамический HTML

До появления версий 4.0 Internet Explorer и Netscape Navigator сценарии могли изменять содержание и внешний вид страниц, только используя метод write.document при загрузке страницы.

Любой сценарий, выполняемый позже, может посылать команды браузеру, такие как запрос на загрузку новой страницы, вывод окна предупреждения или изменение значения поля формы, но как только страница загружена, сценарий не может изменить HTML-код. Как же сделать Web-страницы интерактивными, если их невозможно изменить в ответ на действия пользователя?

Динамический HTML, частично реализованный в Netscape 4 и в большей степени в Internet Explorer 4, устраняет эти ограничения. С использованием динамического HTML сценарии могут вставлять блоки HTML, удалять и заменять их или изменять свойства объектов после отображения страницы на экране. Браузер автоматически обновляет новые свойства и (или) новый HTML-код.

Динамический HTML строится на двух принципах.

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

· Событийная модель описывает способ передачи управления сценариям - какие действия посылают сценарии на выполнение.

Слабость динамического HTML состоит в том, что Internet Explorer и Netscape Navigator поддерживают очень разные модели документов и модели событий. Отчасти это следствие «войны браузеров», а отчасти связано с тем, что браузеры разрабатывались в разное время. В любом случае окончательным результатом следует считать разработку страниц с динамическим HTML, совместимых и с IE, и с Netscape.

За информацией о динамическом HTML обратитесь на сайт Microsoft: http://msdn.microsoft.com/workshop/author/dhtml/reference/dhtml_reference_entry.asp

Netscape: http://developer.netscape.com/library/documentalion/communicator/dynhtml/index.htm

В Internet Explorer почти все объекты на странице - ссылки, изображения, параграфы текста и т.д. могут реагировать на широкий спектр событий. Netscape Navigator поддерживает намного меньше событий, и при этом только для ссылок и форм.

2.3.9. Java-апплеты

Практически все современные браузеры способны отображать и выполнять Java-апплеты -- специальные Java-приложения, которые пользователь получает в составе Web-страницы. Эти приложения нередко включаются в состав Web-страниц с целью добавления функциональности, которую сложно или невозможно реализовать с помощью скриптовых языков. Апплеты могут выполняться на всех платформах, для которых доступна виртуальная Java-машина.

Апплеты обычно создаются в соответствии с правилами, оговаривающими период их жизни и способы взаимодействия со своим окружением. Чаще всего эти способы весьма ограниченны (например, такие операции, как считывание и запись файлов, по умолчанию для апплетов запрещены; если же подобные операции необходимы, разрешения на их выполнение для конкретных апплетов и конкретных файлов описываются на клиентском компьютере; сетевой доступ из апплета возможен только к тому компьютеру, с которого он был загружен; запуск других приложений на компьютере пользователя из апплетов невозможен). Однако апплет способен считывать значения параметров (например, цвета, шрифтов, файлов с графическими изображениями, используемыми при выполнении апплета) с содержащей его Web-страницы и в соответствии с этими параметрами изменять свое поведение. Кроме того, параметры апплета можно менять динамически из кода на скриптовых языках, содержащихся в составе той же страницы.

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

2.3.10. Элементы управления ActiveX

Некоторые из современных браузеров (в частности, Microsoft Интернет Explorer) могут служить контейнерами для элементов управления ActiveX -- специальных COM-серверов, выполняющихся в адресном пространстве браузера и также получаемых в составе Web-страницы.

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

Естественно, Microsoft Интернет Explorer обладает средствами ограничения возможностей выполнения элементов управления ActiveX, в том числе управления ими из кода на скриптовых языках. Однако для контроля безопасности их выполнения имеется еще одно средство, называемое электронной цифровой подписью. Цифровая подпись помещается внутрь элемента управления ActiveX, для чего требуется наличие соответствующего электронного сертификата. Электронная подпись, помимо сведений о фирме-производителе, содержит и другую полезную информацию. Так, например, если файл с элементом управления ActiveX после добавления электронной подписи был изменен, то об этом будет немедленно сообщено перед запуском такого элемента управления -- при добавлении подписи к элементу управления ActiveX происходит вычисление контрольной суммы соответствующего файла. Отметим, однако, что в России в настоящее время нет авторизованных компаний, которые могли бы выдать электронный сертификат международного образца. Естественно, наличие электронного сертификата не гарантирует отсутствия потенциально опасного содержимого, но, по крайней мере, позволяет клиенту установить его источник.

Далее нам следует напомнить банальную истину, которая, как показывает практика, очевидна не для всех наших читателей. При работе с элементами управления ActiveX и Java-апплетами абсолютно бесполезно полагаться на антивирусное программное обеспечение (неважно, клиентское оно или серверное): признаков, характерных для вирусов (таких как способность внедряться внутрь исполняемых файлов и документов), подобные приложения, как правило, не содержат. Можно лишь запретить загрузку или выполнение соответствующего кода либо на уровне настроек браузера, либо на уровне корпоративных или персональных брандмауэров.

2.3.11. Приложения Macromedia Flash

Приложения Macromedia Flash являются сегодня наиболее популярным расширением функциональности Web-браузеров -- с их помощью многие Web-дизайнеры придают своим сайтам интерактивность и оригинальность.

Модель безопасности приложений Flash основана на том, что Macromedia Flash Player, как и виртуальная Java-машина, выполняет приложения в ограниченном адресном пространстве, при этом выполняемые приложения не имеют доступа к файловой системе (кроме одного конкретного каталога, используемого Macromedia Flash Player для служебных целей) и другим ресурсам компьютера пользователя; исключение делается для микрофонов и видеокамер, однако пользователь должен дать разрешение на передачу данных, полученных с этих устройств. Доступ к сетевым ресурсам ограничивается доменом, с которого было получено приложение. Отметим, что приложения Flash также могут управляться с помощью кода JavaScript, присутствующего на той же странице. Сам Macromedia Flash Player для Microsoft Интернет Explorer является элементом управления ActiveX и использует возможности элементов управления ActiveX для доступа к свойствам приложений Flash из скриптовых языков.

Отметим, что помимо вышеперечисленных наиболее популярных средств расширения функциональности браузеров имеется и ряд других средств, реализованных обычно в виде так называемых модулей расширения (plug-in). Поскольку модули расширения также представляют собой исполняемый код, современные браузеры обладают средствами ограничения возможностей, связанных с их загрузкой и выполнением.

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

2.4. Технологии создания серверных частей Web-приложений

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

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

Для использования сценариев на стороне сервера имеется три основных препятствия.

· Запуск скриптов на сервере зачастую требует получения специальных прав от Web-мастера или системного администратора.

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

· Для тестирования сценариев для сервера требуется иметь собственный WWW-сервер, предпочтительно того же типа, что и промышленный вариант.

По этой причине большинство разработчиков предпочитают программирование браузера.

2.4.1. Активные серверные страницы - ASP

Internet Information Server (IIS), WWW-сервер фирмы Microsoft, поддерживает версию VBScript для сервера, которая называется Active Server Pages (ASP). Она позволяет совмещать блоки кода, написанного на VBScript, и HTML. Каждый блок VBScript-кода выполняется на сервере, не передается пользователю и заменяется сгенерированным на сервере HTML-кодом.

ASP поддерживает встроенные объекты для входящих запросов, исходящих ответов, пользовательского сеанса, приложения и собственно сервера.

· Объект запрос хранит информацию о браузере клиента, переданной строке URL, полях форм и т. д.

· Объект ответ получает исходный HTML-код, коды статуса и некоторые команды. С помощью кодов статуса, например, можно заставить пользователя ввести имя пользователя и пароль. Команды могут отослать пользователя к другому URL.

· Объект сервер содержит информацию о сервере: его имя, версию программного обеспечения, состав программного обеспечения и так далее.

· Объект сеанс сохраняет информацию о каждом пользователе для дальнейшего взаимодействия. Пользователь идентифицируются по блоку данных, которые сервер посылает браузеру посетителя и ожидает такой же блок при следующем запросе. (Такой маленькитй блок идентификационной информации называется cookie).

· Объект приложение хранит информацию, общую для всех пользователей данного приложения. (Приложение - это все ASP-страницы в данном дереве каталогов).

Информацию по ASP вы можете найти в разделе «описание сценариев» на сайте

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnanchor/html/anch_iis.asp

Новейшей версией технологии Active Server Pages является ASP .NET, ключевая в архитектуре Microsoft .NET Framework. Основное отличие этой технологии от ASP с точки зрения архитектуры приложений заключается в том, что код, присутствующий на Web-странице, не интерпретируется, а компилируется и кэшируется, что, естественно, способствует повышению производительности приложений.

С помощью ASP.NET можно создавать Web-приложения и Web-сервисы, которые не только позволяют реализовать динамическую генерацию HTML-страниц, но и интегрируются с серверными компонентами и могут использоваться для решения широкого круга бизнес-задач, возникающих перед разработчиками современных Web-приложений.

В общем случае клиентом Web-сервера может быть не только персональный компьютер, оснащенный обычными Web-клиентами (например, Web-браузером), но и мобильные устройства, отличающиеся ограниченным размером экрана, малым объемом памяти, а нередко и невозможностью отображения графики. Для этих устройств существуют свои протоколы передачи данных (Wireless Access Protocol, WAP) и соответствующие языки разметки (WML, Wireless MarkupLanguage, СHTML, Compact HTML и т.п.). При этом необходимо передавать данные на мобильное устройство в соответствующем формате, для чего нередко создаются специальные сайты (например, поддерживающие WAP и WML). Более удобным представляется создание приложений, которые способны генерировать тот или иной код в зависимости от типа клиента. Именно такой подход и реализован в Microsoft ASP .NET.

2.4.2. Perl

Название языка расшифровывается как Practical Extraction and Report Language. По легенде, Ларри Вол изобрел Perl, когда писал программу для составления отчетов. Perl попадает под действие лицензии на свободно распространяемое программное обеспечение и постоянно развивается.

На Web-сервере Perl используется для запуска CGI-программ. Когда Web-сервер передает URL в Perl-программу, то он автоматически запускает Perl-интерпретатор, сообщает, какая программа должна быть запущена, и получает информацию о входящем запросе одним из двух способов.

· Через стандартный ввод - то есть через перенаправление ввода в командную строку MS DOS.

· Через переменные окружения - то есть через те элементы, которые можно видеть после ввода команды SET в командной строке DOS.

Perl-программы выводят HTML в стандартный вывод, аналогично тому как MS DOS-программы выводят информацию на экран. Web-сервер перенаправляет этот вывод удаленному пользователю.

Perl, так же как JavaScript и VBScript, имеет контекстно-определяемые переменные, которые преобразуются автоматически из числовых в строковые. Имена простых переменных начинаются с символа $, имена массивов начинаются с символа @.

Как и в JavaScript, операторы Perl должны заканчиваться точкой с запятой. Фигурные скобки определяют блоки операторов. Знак равенства (=) используется при присвоении значений переменным, а для сравнения величин следует использовать «==» или .eq.. При этом, если $а == $b означает сравнение чисел, то $а eq $b означает сравнение строк. Оператор <= предназначен для сравнения чисел, а "le" - сравнение символов. Перепутать эти операторы проще, чем забыть поставить точку с запятой в конце оператора,

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

#!/usr/bin/perl

Конкретное место может меняться от системы к системе.

В Windows NT начальная строка совсем не требуется. Вместо этого ваш системный администратор должен установить связь между интерпретатором Perl.exe и расширением файла .pl в конфигурации Web-сервера.

2.4.3. CGI

Common Gateway Interface (CGI) является стандартным интерфейсом, который позволяет выполнять серверные приложения, вызываемые через URL. Входной информацией для таких приложений являются данные HTTP-заголовка либо тело запроса, в зависимости от применяемого протокола. CGI-приложение генерирует HTML-код, который возвращается браузеру. Не так давно широко использовался и термин «CGI-скрипт», происхождение которого объясняется тем, что подобные приложения писались на скриптовых языках типа Perl, выполняющихся, тем не менее, не в браузере, а на сервере. CGI-приложения создают с помощью любых средств разработки, генерирующих консольные приложения для операционной системы, под управлением которой функционирует Web-сервер.

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

Array

Страницы: 1, 2


© 2010 РЕФЕРАТЫ