В чем суть работы с гипертекстовыми документами

Обновлено: 18.05.2024

Аннотация: Эта лекция посвящена разработке на Perl программ для WWW, Всемирной Паутины ресурсов, связанных гиперссылками. Ведь именно с распространением World Wide Web язык Perl получил неимоверную популярность среди программистов, которые создали с его помощью множество популярных сайтов с динамическим содержимым. Цель лекции: вкратце ознакомиться с основами web-программирования и богатыми средствами, которые имеются в Perl, для работы с ресурсами Всемирной Паутины. На примерах узнать приемы работы с некоторыми из них.

Всемирная Паутина и программирование

Всемирная Паутина (World Wide Web , WWW или просто Web ) стала важнейшим технологическим достижением в области обработки информации. Она не только сделала доступ к ресурсам сети Интернет простым и удобным для пользователей, но стимулировала развитие многих информационных технологий , а также утвердила в практике программирования новые подходы к работе с информационными ресурсами. Самыми важными из них можно назвать следующие.

  1. Благодаря универсальной адресации самых разных ресурсов с помощью унифицированных указателей ресурсов ( Uniform Resource Locator , URL ), доступ к информации выполняется единообразно, а средства доступа динамически настраиваются на расположение ресурса, протокол передачи данных и его формат. (Например, для указателя на ресурс http://www.server.org/path/page.html потребуется инициировать запрос к серверу по протоколу HTTP на доставку указанной HTML -страницы. А необходимость получить ресурс по указателю ftp://ftp.server.net/path/file.mp3 должна привести к организации сеанса взаимодействия с сервером по протоколу FTP для загрузки требуемого файла.)
  2. Гипертекстовые (а если быть точнее - "гипермедийные") документы позволяют с помощью гиперссылок (hyper- link ) логически компоновать информационные ресурсы, причем разными способами и независимо от их физического расположения. То есть можно считать, что ресурсы располагаются не в файловой системе , пусть даже и сетевой, а в гиперссылочном информационном пространстве . (Например, гиперссылка на одно и то же изображение может размещаться в электронном учебнике, присутствовать на странице тестового упражнения и включаться в научную презентацию. А во фреймах одного окна браузера могут отображаться страницы, загруженные по гиперссылкам с серверов, расположенных в разных странах.)
  3. Тим Бернерс-Ли, который придумал и в 1991 году реализовал для научных целей WWW, основанную на гиперссылках с использованием URL , конечно же, достоин бесконечного восхищения. Но не менее плодотворной идеей оказался CGI ( Common Gateway Interface ) - интерфейс простого шлюза для обращения web- сервера к внешним программам. Взаимодействие посредством CGI упрощенно сводится к запуску сервером в виде отдельного процесса внешней программы, которой через стандартный входной поток передаются параметры, полученные в запросе от клиента. Результат своей работы программа передает через стандартный выходной поток серверу, который возвращает его в качестве ответа на запрос клиента. Эта традиционная для Unix схема обращения к программе-фильтру позволяет бесконечно расширять возможности web- сервера : динамически создавать HTML -страницы, генерировать диаграммы и графики , черпать информацию из баз данных, "на лету" конструировать документы в формате PDF и так далее.
  4. Принципы, применяемые в WWW для организации информации, оказались настолько технологичными и имели такой большой успех у пользователей, что стали использоваться в локальных сетях ( Intranet ) и на отдельных компьютерах . А web- браузер превратился в универсальное клиентское приложение , применяемое для доступа к базам данных , различным справочным и информационным системам .

Поэтому web - программирование стало важной и чрезвычайно востребованной отраслью информационной промышленности. (Именно промышленности, если судить по инвестициям и доходам информационных компаний во всем мире.) Ну а Perl , как обычно, не просто предоставляет для этого все необходимые средства, но и предлагает их широкий выбор: ведь принцип TIMTOWTDI продолжает работать и здесь.

Средства работы с гипертекстом

Прославившийся своими богатыми средствами обработки текстовых данных, Perl оказался легко применим для работы с гипертекстом . Язык разметки гипертекста HTML (Hyper- Text Markup Language ) - это подмножество довольно старого универсального языка разметки SGML , использовавшегося для форматирования документов. HTML ориентирован на разметку гипертекстовых документов. Со времени своего создания он видоизменялся под влиянием корпоративных интересов нескольких компаний, но конкурентная борьба постепенно приводит к повышению роли стандартов. Стандартизацией HTML и других видов деятельности , касающейся WWW , занимается международный консорциум W3C , который возглавляет сэр Тимоти Джон Бернерс-Ли. Чтобы отдельно от содержимого HTML -документа описывать особенности его представления ( шрифт , цвет, размер, расположение и так далее), был создан еще один стандарт - каскадные таблицы стилей CSS ( Cascading Style Sheets ). А сам язык HTML был переработан для обеспечения совместимости с форматом XML (о котором речь пойдет далее), и новая версия была оформлена в виде стандарта XHTML .

На Perl написано множество модулей, ориентированных на работу с гипертекстовыми документами в форматах HTML и XHTML . Большинство из них связано с динамической генерацией web -страниц и работе с HTML-формами . Поисковая машина на сайте CPAN находит более тысячи модулей, в названии которых встречается " HTML ". Упомянем лишь некоторые из них, доступные для загрузки из архива CPAN. Простые средства создания разметки HTML предоставляет класс HTML :: Base . Модуль HTML :: Parser , напротив, представляет из себя средство синтаксического разбора HTML -документа на составляющие объекты. Кстати, для преобразования "старой доброй документации" из формата POD в HTML -документ можно пользоваться утилитой pod2html . Она, естественно, написана на Perl и входит в стандартный дистрибутив . Например, в результате выполнения вот такой команды :

будет сгенерирован гипертекстовый документ из 54 страниц, описывающий стандартный модуль для разработчиков CGI -программ на Perl . По солидному объему этого руководства можно судить о том, что многие трудности web -программирования уже решены усилиями Perl -сообщества. Примеры программного формирования документов HTML будут рассмотрены далее в этой лекции при обсуждении средств разработки CGI -программ.

Читайте также: