Базовые элементы Web-технологий (1127027), страница 2
Текст из файла (страница 2)
В таблице стилей определяются правила, по которым элементамтакого документа сопоставляется стиль его представления (задающий цветтекста и фона, шрифт, форматирование абзаца и пр.). Таблицы стилейпозволяют разделить описание структуры и представления документа, даваятем самым возможность отображать один и тот же документ по-разному взависимости от конфигурации браузера или пользовательских настроек.• Технологии создания клиентских сценариев.o Объектная модель документа (Document Object Model, DOM)представляет собой кросс-платформенный и независящий от используемыхязыков интерфейс для доступа и обработки структурных элементовдокументов на HTML и XML (включая XHTML).
Этот интерфейсописывается в терминах абстрактных типов объектов, соответствующихразличным элементам XML-документа, и возможных операций над ними.Кроме того, указывается техника привязки этого абстрактного интерфейса креализующим его конкретным в различных языках (сейчас — в Java иECMAScript). DOM является международным стандартом, поддерживаемымгруппой W3C.o Язык ECMAScript (с многочисленными диалектами, включающимиJavaScript, JScript, ActionScript) — язык, чаще всего используемый дляобработки элементов XML- и HTML-документов в браузерах с помощьюинтерфейса DOM. Соответственно, все браузеры имеют встроенныйинтерпретатор того или иного диалекта этого языка.
Очень часто сценариина диалектах ECMAScript используются для быстрой, без передачи насервер, проверки целостности и корректности данных, вводимыхпользователем в формах на Web-странице, или для быстрой реакции на теили иные действия пользователя.o Разнообразные языки для описания нетекстовых данных, включаемых впредставление Web-страницы, и сценариев работы с ними — такие, какAdobe Flash (для мультимедиа–данных, чаще всего, для представленияанимационных роликов), VRML (для трехмерной графики и анимации) и пр.• Технологии создания серверных сценариев.o Общий интерфейс шлюза (Common Gateway Interface, CGI) являетсянаиболее простой, самой старой и уже редко используемой технологией длядинамической генерации содержимого Web-страниц на стороне сервера.Это стандарт на запросы, обработку которых Web-сервер передает внешнимприложениям, работающими со стандартным вводом/выводом длягенерации Web-страниц, выдаваемых в ответ на запросы.o Более гибкими и более надежными с точки зрения обеспечениябезопасности являются технологии серверных сценариев, выполняемых врамках Web-сервера или подключаемых к нему модулей.
Такие технологиивключают сервлеты и серверные страницы Java (Java Server Pages, JSP),активные серверные страницы (Active Server Pages, ASP и ASP.NET) отMicrosoft, технологии создания серверных сценариев на языках PHP,ColdFusion, Perl, Python, Ruby и т.д.• Технологии создания «богатого Web-интерфейса» (Rich Internet Applications).o Термином Ajax (исходно Asynchronous JavaScript and XML) обозначаетсялюбая технология, использующая клиентские сценарии и передачу XMLсообщений по протоколу HTTP для более гибкой и быстрой обработкизапросов пользователей.
При этом запросы и ответы отправляются васинхронном режиме (пользователь может продолжать работать с Webстраницей пока его запрос обрабатывается на сервере) и содержат меньшеданных (за счет упаковки только необходимой информации в XML, безпередачи всей HTML страницы туда и обратно).
За счет этого достигаетсябольшая интерактивность Web-страниц — поддерживается больше разныхвидов действий пользователя, вызывающих реакцию приложения, игарантируется меньшее время реакции на эти действия — при болееэффективном обмене данными между клиентом и сервером.o Более сложные технологии, такие как Adobe Flex, Microsoft Silverlight иJavaFX, используются при создании сложных пользовательскихинтерфейсов на основе как клиентских, так и серверных компонентов.
Дляописания элементов пользовательского интерфейса и обработки действийпользователя они используют собственные языки ActionScript, XAML иJavaFX Script. Разрабатываемая в настоящий момент следующая версияHTML, HTML 5, должна будет унифицировать такие языки.• Протоколы, на базе которых происходит обмен сообщениями в Web-приложениях.o Протокол передачи гипертекста (Hypertext Transfer Protocol, HTTP)является основным протоколом, используемым для передачи сообщений иданных в Web-приложениях. Он предназначен для передачи прежде всеготекстовых сообщений между слабо связанными сервером и клиентом. HTTPудобен тем, что большинство сетей заранее настроено на прием сообщенийпо этому протоколу, поскольку браузеры используются повсеместно; длямногих других протоколов нужна специальная настройка, соответствующиепорты по умолчанию закрыты во многих сетях.
Поэтому использованиеWeb-приложений не требует специальной настройки сетей.o Протоколы взаимодействия Web-служб. Базовым протоколом передачиобращений Web-служб друг к другу является простой протокол доступа кобъектам (Simple Object Access Protocol, SOAP).
Он работает поверх HTTP(реже используются протоколы удаленных вызовов RPC) и определяет набазе XML формат текстовых сообщений, в которых передается информацияо вызовах операций или их результаты. В дополнение к SOAPразрабатываютсямногочисленныепротоколысназваниями,начинающимися на WS (WS-Security, WS-Addressing, WS-Discovery, WSCoordination и т.п.), которые предназначены для обеспечениядополнительных характеристик взаимодействия Web-служб — поддержкишифрования, аутентификации участников, интроспекции, транзакций,координации нескольких Web-служб в рамках сценария взаимодействия,и т.д.В рамках данного курса наибольшее внимание уделяется технологиям разработки Webприложений на основе языка программирования Java и элементам платформы J2EE.Впоследствии планируется расширить набор рассматриваемых технологий.В рамках следующих нескольких разделов даются краткие сведения о базовых языках длясоздания Web-страниц и проколе HTTP.APIОписаниесодержимогостраниц и ихпредставленияОписаниеклиентскихсценариевСерверныесценарииПротоколыЯзыкиДиалекты, смесиHTTPXMLXHTMLТехнологииHTMLCSSDOMISAPIServletECMAScript ActionScriptCGIFlexJScriptSilverlightJavaScriptJavaFXJavaJSPJ2EEC#JSTL.NETPerlJSFPHPASP.NET - WebFormsRubyPythonАдреса в WebУнифицированные идентификаторы ресурсов (Uniform Resource Identifier, URI) служатдля идентификации различных ресурсов в Web, глобальной информационной сети.
Естьнесколько видов URI, часто используемым не только для идентификации ресурсов, но иуказания способа доступа к ним является URL (Uniform Resource Locator, единыйуказатель ресурсов). Такой адрес-идентификатор может быть глобальным или локальным.Глобальные идентификаторы состоят из следующих частей.• Идентификатор протокола или используемой схемы именования.• Имя машины-сервера, на которой размещен ресурс, или куда нужно обращаться,чтобы его получить.• Путь к самому ресурсу, обычно, документу определенного формата, на данноймашине.• (Не обязательно) Идентификатор части документа, если данный адрес указывает нена весь документ.Например, адрес http://www.ispras.ru/~kuliamin/sdt-course.html раскладывается так:• http:// — указание того, что для доступа к данному ресурсу нужно использоватьпротокол HTTP и соответствующую схему именования.• www.ispras.ru — имя доменного сервера Института системного программированияРАН.
Запросы к ресурсам этого домена отправляются на машину с IP-адресом83.149.199.48. Этот адрес может измениться, тогда потребуется обновить записи втаблицах DNS-серверов, связывающих имя www.ispras.ru с конкретным IPадресом. Благодаря этому, несмотря на изменения IP-адреса машины, люди могутпродолжать пользоваться мнемоническим именем www.ispras.ru.• ~kuliamin/sdt-course.html — путь к нужному документу на сервере, в данномслучае, страничке курса «Технологии программирования».Если же используется адрес http://www.ispras.ru/~kuliamin/sdt-course.html#test_results,последняя его часть, #test_results, указывает на раздел документа, в котором находятсясведения о прошедших экзаменах по этому курсу.Локальные идентификаторы URI строятся относительно какого-то фиксированногодокумента и устроены почти как пути в UNIX-системах.
Например, адрес lecturessdt/Lecture01.pdf относительно указанного выше документа соответствует глобальномуадресу http://www.ispras.ru/~kuliamin/lectures-sdt/Lecture01.pdf. В конце локального адресатакже может использоваться идентификаторы частей документов с разделителем ‘#’.Можно использовать в начале локального адреса конструкцию «../» для указания переходав директорию верхнего уровня, однако это делает его корректность зависящей отрасположения файлов во внешних директориях.Унифицированные идентификаторы используются в XML и HTML-документах какссылки на другие документы, ресурсы или их составляющие.В идентификаторах ресурсов можно использовать символы различных языков, но те, чтоне входят узкое множество букв латинского алфавита, цифр и знаков препинания,кодируются.
Сначала такой символ представляется в кодировке UTF-8 (символы изпервой половины ASCII кодируются одним байтом, а для прочих используется различноечисло байт, от 2-х до 4-х), а затем каждый байт преобразуется в последовательность изсимвола ‘%’ со следующими за ним двумя шестнадцатеричными цифрами.Расширяемый язык разметки XMLДанный раздел содержит краткий обзор основных конструкций XML, для более глубокоизучения этого языка и связанных с ним технологий стоит обратиться к [2-7].XML [3-5] является языком разметки: различные элементы данных в рамках XMLдокументов выделяются тегами — каждый элемент начинается с открывающего тега<tag> и заканчивается закрывающим </tag>.
Здесь tag — идентификатор тега, которыйобычно является английским словом или набором слов, разделяемых знаками ‘-’,которое(-ые) описывают назначение этого элемента данных. Элементы данных могутбыть вложены друг в друга, образуя дерево документа. Кроме того, каждый элементможет иметь набор значений атрибутов, которые представляют собой строки, числа илилогические значения. Значения атрибутов для данного элемента помещаются внутри егооткрывающего тега. Элемент данных, не имеющий вложенных подэлементов, может бытьоформлен в виде конструкции <tag … />, т.е. не иметь отдельного закрывающего тега.Ниже приведен пример описания информации о книге в виде XML.<booktitle = "Pattern-Oriented Software Architecture, Volume 1: A System ofPatterns"ISBN = "047195869"year = 1996hardcover = truepages = 476language = "English"><author>Frank Buschmann</author><author>Regine Meunier</author><author>Hans Rohnert</author><author>Peter Sommerlad</author><author>Michael Stal</author><publishertitle = "John Wiley & Sons"address = "605 Third Avenue, New York, NY 10158-0012, USA" /></book>В этом примере тег <book>, представляющий описание книги, имеет вложенные теги<author> и <publisher>, представляющие ее авторов (таких тегов может быть несколько)и издателя.