Урок 2
Основы web-технологий



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

  HTML

HTML, Hyper Text Markup Language, или, по-русски, «язык разметки гипертекста», является фундаментальной, базовой технологией Интернета. Несмотря на бытующее среди пользователей Всемирной сети мнение, HTML является полнофункциональным языком программирования, обладающим практически всеми чертами, характерными для других аналогичных языков. Практически все содержимое web-узлов, которое отображается на экране подключенных к Интернету компьютеров, является набором документов, содержащих программный код HTML. HTML позволяет формировать на странице сайта текстовые блоки, включать в них изображения, организовывать таблицы, управлять отображением цвета документа и текста, добавлять в дизайн сайта звуковое сопровождение, организовывать гиперссылки с контекстным переходом в другие разделы сервера или обращаться к иным ресурсам Сети и компоновать все эти элементы между собой. Файлы, содержащие гипертекстовый код, имеют расширение .htm или .html.

ПРИМЕЧАНИЕ HTML, Hyper Text Markup Language (язык разметки гипертекста) — язык, используемый для создания документов в Интернете. HTML-документом называется файл, содержащий код HTML. Такие документы являются основным информационным наполнением web-узлов, они позволяют отображать текст, графику, аудио- и видеоинформацию, а также другие компоненты ресурсов Интернета.

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

ПРИМЕЧАНИЕ Гиперссылка (Hyperlink) — базовый функциональный элемент html-доку-мента, представляющий собой реализацию динамической связи какого-либо объекта данной web-страницы с контекстным содержимым другого документа.

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

В отличие от других языков программирования, HTML — язык не транслируемый, но интерпретируемый. Это означает, что для исполнения готового кода его не нужно компилировать, встроенный в специальное программное обеспечение, предназначенное для просмотра web-страниц, интерпретатор «компилирует» код непосредственно в процессе открытия документа. При этом, обнаружив в тексте ошибку, такая программа не выдает соответствующего предупреждения(если страница не содержит встроенных скриптов Java), а попросту игнорирует всю «ошибочную» строку. Это следует иметь в виду, составляя HTML-программу, поскольку можно ненароком пропустить «незаметную» ошибку и выявить ее наличие уже тогда, когда страница будет опубликована в Web.

Подробно о языке HTML будет рассказано в четвертом уроке.

  Броузеры

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

ПРИМЕЧАНИЕ Броузер — специальная клиентская программа, предназначенная для просмотра содержимого web-узлов и отображения документов HTML. Броузеры содержат встроенный транслятор языка разметки гипертекста, компилирующий html-код в процессе открытия web-страницы.

Существует несколько классов броузеров, различающихся в основном спектром реализуемых ими возможностей. Два основных класса — это броузеры, поддерживающие и не поддерживающие отображение графических элементов web-страниц. Большинство современных броузеров относятся к первому классу. Наиболее распространены среди пользователей Интернета броузеры MicrosoftInternet Explorer и Netscape Navigator, предназначенные для работы в среде Microsoft Windows. Менее распространены Opera, Arachne (работает под управлением DOS) и текстовый броузер для UNIX-совместимых платформ под названием Lynx.

Следует помнить, что интерпретаторы HTML, встроенные в различные броузеры, работают не одинаково, из-за чего один и тот же html-документ может отображаться в них по-разному. Тем не менее все существенные отличия в алгоритмах обработки кода интерпретаторами наиболее популярных броузеров поддаются статистическому анализу, и несоответствия, появляющиеся при открытии ими документов HTML, без труда устраняются. Методики, позволяющие добиться идентичности отображения web-страниц в различных броузерах, мы обсудим в девятом уроке.

  Сервер, сайт, домашняя страничка

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

Сервером сети Интернет называется компьютер, на котором установлена специальная программа (она тоже называется сервером, web-сервером или http-cep-вером), которая отображает web-страницы по запросу клиентской машины, атак же выполняет множество других полезных функций, которых мы коснемся чуть позже. Когда ваш домашний компьютер связывается с сервером и получает от него все необходимые данные, например код web-страницы, он выступает в роли «клиента», а всю систему в этом случае принято называть связкой «клиент—сервер». На этот термин следует обратить особое внимание, поскольку в последствии мы часто будем сталкиваться с ним.

ПРИМЕЧАНИЕ Системой «клиент-сервер» называют механизм передачи информации между удаленным компьютером, предоставляющим свои ресурсы в распоряжение пользователей, и пользовательским компьютером, эксплуатирующим эти ресурсы. В данном случае компьютер, открывающий доступ к собственным ресурсам, носит название «сервера», а получающий та- кой доступ — «клиента».

Серверы могут быть разными, причем отличия заключаются, прежде всего, в операционной системе, под управлением которой они работают. В настоящее время на большинстве интернетовских узлов используют два типа серверных программ: либо Internet Information Server, рассчитанный на работу под Windows NT, либо Apache, предназначенный для платформ, совместимых со стандартом UNIX. Как правило, серверы работают на линиях с большой пропуск- ной способностью, например, в сетях с оптоволоконными каналами связи, что по финансовым соображениям доступно лишь крупным предприятиям.

Помимо соответствующей программы настоящий сервер должен иметь собственный домен, то есть адрес DNS, отвечающий стандартам Domain Name System.

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

Тематическое содержание серверов может варьироваться в широком диапазоне в зависимости от целей, ради которых они были созданы, возможностей или фантазии владельца и многих других условий. Объединяет их все, пожалуй, только одно: полноценный сервер должен представлять собой то, что среди пользователей Интернета принято называть термином «информационный портал» , то есть в идеальном случае он является достаточно большим виртуальным пространством, состоящим из множества различных тематических разделов меньшего размера, либо некоторого количества самостоятельных проектов.

Сайт в отличие от сервера выделенной серверной программой не обладает. Как правило, он является интегрированной частью сервера, каталогом на серверном компьютере, несмотря на то что большинство сайтов имеют собственное доменное имя. Еще один аспект, в котором сервер и сайт значительно различаются, —это их информационное наполнение. Сайт (от англ, site, участок) — это именно участок сервера, то есть раздел, полностью посвященный какой-либо одной теме. Разумеется, практически все сайты включают в себя множество подразделов, каждый из которых может дробиться на еще более мелкие составляющие. Но в любом случае все части сайта объединяет некая общая идея, смысловая направленность, общий стиль исполнения.

Универсальных решений относительно того, какие разделы должен включать всебя сайт, увы, нет — все зависит опять же от целей, которые ставит перед со- бой автор, и от выбранных методов их достижения. Какое-то подобие «стандарта», пожалуй, сформировалось в отношении официального сайта коммерческого предприятия — здесь обязательными являются страница «о компании», которая рассказывает об истории создания фирмы, ее профиле, о проектах и планах развития; страница «продукты/услуги», предоставляющая посетителю информацию о том, чем занимается данная организация, и содержащая предложение приобрести или заказать что-либо из производимого ею товара, воспользоваться ее услугами, а также раздел «вакансии» с информацией о требующихся в данный момент специалистах и перечнем условий приема на работу. Но на практике встречается множество прекрасно исполненных сайтов, содержащих не упомянутые выше тематические рубрики.

Домашняя страничка (homepage) в большинстве случаев не располагает даже собственным доменом, и ее адрес обычно выглядит как http://www.domain.zooe/your_name/. Исключения составляют разве что страницы, размещенные на бес- платных серверах, администрация которых охотно выделяет для своих клиентов домены третьего уровня. По содержанию домашняя страничка — это, прежде всего, рассказ о человеке, его семье, образе жизни, хобби и увлечениях. Заводят домашнюю страничку, как правило, по двум причинам: во-первых, в процессе поиска в Интернете новых знакомых неизменно возникает ситуация, когда человеку необходимо рассказать собеседнику о себе, дабы тот получил хоть какое-то представление о том, с кем он общается. В этом случае гораздо удобнее переадресовать его к собственной домашней страничке, нежели в очередной раз подробно излагать одну и ту же информацию. Во-вторых, опубликовав на домашней странице свое резюме, вы можете значительно облегчить процесс поиска работы — у вашего потенциального работодателя появится возможность оценить ваши человеческие качества, ознакомившись с данным документом.

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

Теперь давайте разберемся, как устроен сервер «изнутри», что необходимо для понимания ключевых моментов, касающихся публикации web-страниц в сети Интернет.

  Анатомия сервера

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

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

Поиск запрашиваемой страницы осуществляется в определенной директории, которая отведена на серверном компьютере под данный сайт — ссылка на эту директорию присутствует во введенном пользователем адресе. В случае когда обращение осуществляется не к конкретному документу, а к сайту в целом, http-сервер автоматически подставляет вместо названия передаваемого файла так называемую «стартовую страницу», которая носит имя index.htm или index.html (в некоторых случаях — default.htm или default.html). Этот документ обязательно должен располагаться в корневом каталоге, отведенном для размещения вашего сайта, либо, если это оговорено особо, в директории с названием WWW. Все остальные файлы можно размещать либо в этом же каталоге, либо во вложенных директориях, что иногда бывает удобным, особенно в случае, когда сайт содержит несколько тематических разделов или рубрик.

Помимо созданных вами вложенных папок, в которые вы вольны помещать практически любое необходимое вам содержимое, серверная директория содержит обычно еще несколько каталогов, которые следует упомянуть отдельно. Во-первых, это папка CGI-BIN, где размещаются CGI-скрипты и другие запускаемые с вашего сайта интерактивные приложения, а также несколько служебных директорий, необходимых для нормальной работы сервера. На начальном этапе на них просто не следует обращать внимания. Иногда в том же ката- логе, где хранится index.html, присутствует ряд дополнительных файлов: not_found.html — документ, который отображается в случае, если http-серверне смог найти запрашиваемый пользователем файл, forbidden.html — отображается в качестве сообщения об ошибке, если доступ к запрашиваемому документу запрещен, и, наконец, robots.txt — файл, в котором специальным образом описываются правила индексации вашего сайта поисковыми машинами.

В большинстве случаев, а особенно при публикации домашней странички на серверах, предоставляющих бесплатный хостинг, к служебным директориям и папке CGI-BIN доступ пользователям закрыт, изменение содержимого файлов not_found и forbidden.html также невозможно. Это следует учитывать, если вы планируете включить в свой ресурс какое-либо интерактивное содержимое, требующее как минимум возможности помещать файлы в одну из служебных папок. В некоторых случаях вам может быть запрещено создавать на сервере вложенные каталоги, тогда пользователю придется довольствоваться исключительно одной директорией, отведенной для ваших нужд.

Из всего сказанного становится ясно, что броузер клиента может только получать и обрабатывать информацию с сервера, а размещать и изменять ее — лишь в том случае, если загрузка файлов на сервер реализована на основе протокола HTTP с помощью специальных CGI-скриптов, включенных в серверный web-интерфейс. Во всех остальных случаях приходится пользоваться так называемым ftp-сервером, на который посредством специального программного обеспечения (подобный рассказ о нем пойдет в уроке 4) можно передать необходимые файлы, автоматически загружая их в отведенную для вашего сайта директорию. В обоих случаях вам потребуется знать свое регистрационное имя и пароль для доступа к системе. Следует также помнить, что большинство серверных программ (в частности, Apache для UNIX-совместимых платформ) различают строчный и заглавный регистр символов, поэтому все имена файлов и их расширения во избежание ошибок следует писать строчными буквами, причем обязательно латиницей. Последнее связано с различиями в обработке кодировок русского языка, характерной для тех или иных серверов.

  Говорим по-русски. О кодировках кириллицы

В настоящее время существует пять основных кодировок кириллицы, то есть наборов символов, с помощью которых можно отобразить на web-странице знаки русского алфавита. Они носят названия ISO, KOI8-R, DOS, Windows 1251 и MAC. Имеется также ряд менее распространенных кодировок, так или иначе способных воспроизводить символы кириллицы, они называются Unicode(UTF-8) и транслит.

ПРИМЕЧАНИЕ Кодировкой кириллицы называется общепринятый стандарт, включающий набор символов, который позволяет отображать в документах HTML знаки русского алфавита.

Исторически первой возникла кодировка KOI8 (код обмена информации восьмибитный), соответствующая стандарту ГОСТ 19768-74. Она была разработана в середине семидесятых годов специалистами одного из советских НИИ и к се- редине восьмидесятых стала базовой кодировкой для только что появившихся тогда в нашей стране русифицированных UNIX-совместимых операционных систем. Именно благодаря этому на сегодняшний день KOIS является основным стандартом для серверов, работающих на базе платформы UNIX (например, для http-сервера Apache), а также используется в качестве «формата по умолчанию» при пересылке сообщений электронной почты на русском языке.

Компания Microsoft, создавая программное обеспечение для работы в Интернете, как водится, пошла своим путем, предложив стандарт Microsoft code page1251 (Windows 1251), получивший чрезвычайно широкое распространение благодаря популярности операционной системы Microsoft Windows и http-сервера Internet Information Server, входящего в комплект поставки Windows NT. Именно поэтому и Windows 1251, и KOI8-R входят в тот минимально допустимый набор кодировок, которые должна обязательно поддерживать любая web-страница.

Стандарт Microsoft/IBM code page 866 (альтернативная кодировка DOS) служит базовой кодировкой в операционных системах MS-DOS и OS/2, и потому в настоящее время она медленно, но верно утрачивает свои позиции, поскольку даже сам разработчик и производитель DOS, компания Microsoft, отказалась от дальнейшей поддержки этой линии операционных платформ. Тем не менее кодировка жива и по сей день, прежде всего, благодаря тому, что часть пользователей не намерена пока расставаться с броузерами, работающими в среде MS-DOS, а также по той причине, что данный стандарт принят по умолчанию в некоммерческой сети FidoNet.

Кодировка ISO-8859-5 была разработана Комитетом по международным стандартам (International Standards Organization, ISO) и применяется в основном вUNIX - совместимых операционных системах. Поскольку данный набор символов был создан западными специалистами, плохо знакомыми не только с самим русским языком, но и с уже имеющимся многообразием кодировок кириллицы, ISO не получила широкого распространения, однако все же достаточно часто встречается в Интернете и активно поддерживается рядом русскоязычных серверов.

Macintosh CP (MAC) предназначена для использования на компьютерах AppleMacintosh, оснащенных операционной системой MacOS. Из-за высокой стоимости Apple-совместимые компьютеры не получили в нашей стране широкого распространения, однако они иногда эксплуатируются на крупных отечественных предприятиях.

Универсальный международный стандарт Unicode (UTF-8) был создан с благородной целью объединить все существующие на сегодняшний день национальные кодировки в одну. Поскольку для отображения одного символа в Unicode отводится не один байт, как это принято во всех остальных стандартах, а два, данная кодировка включает в себя 65 536 знаков вместо 256. В это число входят не только буквы всех алфавитов мира как существующих ныне или созданных искусственно, так и уже практически вымерших, но и множество специальных символов — математических, музыкальных, физических. Однако пре- одолеть инертность большинства владельцев интернетовских ресурсов не так-то просто: поддержка Unicode требует замены части программного обеспечения, да и далеко не все клиентские программы умеют распознавать этот стандарт. Именно поэтому сегодня Unicode практически не используется в Интернете —по всей видимости, это кодировка будущего.

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

Большинство современных серверных программ обладают встроенной функцией автоматического определения кодировки, используемой клиентским программным обеспечением, и перевода текста в необходимый стандарт «на лету». Однако бывают ситуации, когда возможность автоматического распознавания необходимого пользователю набора символов на сервере отключена или попросту отсутствует. Как раз на этот случай существует стандарт, согласно которому для вывода каждой из кодировок русского языка назначается один из портов сервера. Адрес порта записывается через двоеточие после обозначения домена первого уровня в формате http://www.домен.ги:адрес_порта/название документа. Ниже перечислены стандартные адреса портов для большинства используемых в Интернете серверных программ:

8080 - Microsoft code page 1251 (Windows 1251);

8081 - Microsoft/IBM code page 866 (DOS);

8082 - Macintosh CP (MAC);

8083 - KOI8-R;

8084 — транслит.

Когда web-мастеру по каким-либо причинам необходимо перевести текст из одной кодировки в другую (а такие ситуации возникают довольно часто), обычно применяют одну из многочисленных программ-перекодировщиков, которые можно без труда найти на сайтах, предлагающих бесплатное программное обеспечение.

  Другие web-технологии

  JAVA

Язык программирования Java, разработанный около восьми лет назад компанией Sun Microsystems и напоминающий по структуре и синтаксису хорошо знакомый многим программистам С, существует сегодня в Интернете в двух вариантах: JavaScript и собственно Java. Первый вариант языка является всего лишь надстройкой стандарта HTML и значительно расширяет возможности документа, созданного в этом формате. Модуль, написанный на JavaScript, интегрируется в файл HTML как подпрограмма и вызывается на исполнение из соответствующей строки HTML-кода стандартной командой. Встроенный в броузер интерпретатор языка воспринимает и скрипт, и сам код гипертекста как единый документ, обрабатывая те и другие данные одновременно. Модуль Java в отличие от JavaScript не интегрируется в использующую его страницу, а существует как самостоятельное приложение с расширением .classили, выражаясь научным языком, апплет. При использовании этого варианта языка апплет также вызывается из html-файла соответствующей командой, но загружается, инициализируется и запускается на исполнение в виде отдельной программы, в фоновом режиме.

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

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

  CGI

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

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

Технология CGI обычно реализуется двумя методами: либо с использованием программ, написанных на языке PERL (Practical Extraction and ReportLanguage), — такие файлы имеют расширение .pi, либо с помощью приложений, созданных обычно с применением языка С и откомпилированных непосредственно на сервере, поскольку большинство UNIX-совместимых платформ включают в себя встроенный транслятор этого языка. Подобные программы имеют расширение .cgi. Необходимо отметить, что PERL, как и HTML, является интерпретируемым языком. Иными словами, для того чтобы запустить подобный скрипт на исполнение, не требуется дополнительной компиляции. Помимо упомянутых возможностей с помощью данной технологии можно организовать систему показа последовательности рекламных баннеров или автозагрузки файлов на сервер, создать форму отправки электронного письма непосредственно со страницы сайта или службу виртуальных открыток. Среди достоинств CGI следует отметить их независимость от клиентского программного обеспечения — эту технологию сможет применять каждый пользователь, просматривающий содержимое сервера при помощи броузера практически любой версии. Главный недостаток заключается в том, что для установки и на- стройки приложений CGI на сервере нужно обладать как минимум правами администратора, поскольку эти программы при запуске способны нарушить нормальное функционирование серверного компьютера и дестабилизировать работу сети.

  SSI

SSI (Server Side Includes) — технология, тесно переплетенная с упомянутой выше CGI. На основе макроязыка, очень напоминающего С, SSI позволяет реализовать такие возможности, как вывод в документе того или иного текста в зависимости от определенных условий или согласно заданному алгоритму, формировать файл HTML из динамически изменяющихся фрагментов или встраивать результат работы CGI в какой-либо его участок. Достоинства и недостатки SSI аналогичны описанным в предыдущем абзаце.

  CSS

Зачастую у web-дизайнера возникает необходимость применить в процессе создания html-документа сложное форматирование — от абзаца к абзацу менять шрифт, расположение текста, его цвет, формировать различные таблицы данных. Можно решить эту проблему с помощью стандартных средств HTML: описывать каждый абзац отдельным набором команд, но в этом случае итоговый документ будет иметь большой размер, да и само создание кода становится весьма трудоемкой работой. Можно пойти другим путем: подключить к странице внешний файл, выполненный в стандарте CSS — Cascading Style Sheets (каскадные таблицы стилей), в котором с помощью специального макроязыка один раз жестко задать форматирование страницы. Другими словами, файл CSS выполняет роль некоего шаблона, применяемого для форматирования текста, таблиц и иных элементов в документе HTML. Есть возможность подключать один и тот же физический файл CSS к различным web-страницам сайта. CSS можно использовать практически на любом сервере без каких-либо ограничений. Крупные недостатки у данной технологии также практически отсутствуют. О каскадных таблицах стилей CSS мы подробно побеседуем в восьмом уроке.

  РНР

РНР (Personal Home Page tools) — это еще один интерпретируемый язык, напоминающий PERL, предназначенный для придания web-страницам элементов интерактивности. Код, написанный на языке РНР, встраивается в документ HTML подобно подпрограмме: в тот участок документа, где необходимо разместить интерактивный элемент, просто вставляется сценарий РНР. Мнемоника данного языка базируется на синтаксисе PERL,  Java и С, благодаря чему не вызывает каких-либо трудностей при изучении. Методики, которые позволяют серверам корректно распознавать файлы, содержащие скрипты РНР, различны и зависят в первую очередь от типа конкретного сервера. Считается достаточным назначить такому файлу расширение .php, иногда — с добавлением номера версии используемого языка, например .php2 или .php3.

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

  ASP

ASP (Active Server Pages, активные страницы сервера) — еще одна технология, аналогичная JavaScript и РНР. Для того чтобы сделать web-страницуинтерактивной с применением технологии ASP, необходимо встроить в ее код соответствующий скрипт, написанный на макроязыке, отдаленно напоминающем Java и С. Скрипт интерпретируется и исполняется непосредственно на сервере, после чего пользовательскому броузеру отправляется уже готовый html-документ с результатами работы сценария ASP. Отсюда следует вполне справедливое заключение о том, что для страниц, содержащих ASP, не имеет значения, какое программное обеспечение установлено на пользовательском компьютере. Зато принципиальное значение имеет тип сервера, на котором вы планируете использовать ASP, поскольку отнюдь не все они поддерживают данную технологию.

  VBScript

VBScript, или Visual BASIC Script (Visual Beginners All-purpose SymbolicInstruction Code Script, визуальный символический универсальный командный код для начинающих) — очередная версия интерпретируемого языка, встраиваемого в html-документ с целью включения в состав web-страницы интерактивных элементов. Честь создания данной технологии принадлежит разработчикам компании Microsoft.

Если сравнить более распространенный стандарт JavaScript с VBScript, обнаружить серьезные различия очень трудно, поскольку мнемоника и синтаксис обоих языков во многом схожи. С помощью VBScript можно реализовать практически весь спектр возможностей, характерных для JavaScript. Обе технологии не зависят от типа сервера, на котором планируется опубликовать включающую их web-страницу. Однако VBScript в настоящее время менее распространен в Интернете, нежели его «конкурент», поскольку он поддерживается только броузерами производства Microsoft, а именно Internet Explorer версий 3.0 и выше. Netscape Navigator не имеет интерпретатора этого языка, поэтому приверженцы этого броузера лишены возможности использовать интерактивные элементы, созданные с применением VBScript, в то время как JavaScript поддерживается и Internet Explorer и Netscape Navigator.

  Macromedia Flash

Стандарт Flash был разработан компанией Macromedia в 1996 году. Основное назначение данной технологии — создание высококачественной интерактивной анимации, которую можно представлять при относительно небольшом размере итогового файла. С помощью Macromedia Flash web-мастер имеет возможность изготавливать красочные анимационные заставки, определенные элементы которых могут «реагировать» на движения мыши, а также встроенные в web-страницы мини-игры, озвученные мультипликационные клипы и многое другое. Другими словами, Macromedia Flash способна практически на все, что доступно при применении Java, и даже больше.

Одним из основных отличий Macromedia Flash от всех остальных существующих ныне web-технологий является то, что это единственный стандарт, позволяющий работать не только с растровой графикой, но и с векторной. Помимо этого текст импортируется в среду Flash не как растровое изображение, а именно как текст, в котором один символ кодируется одним байтом информации, что является серьезным оружием в борьбе с излишним объемом результирующих файлов. Немаловажно, что во Flash имеется возможность воспроизведения музыки и звуков в формате МРЗ.

Для создания документов, подготовленных согласно данному стандарту, компания Macromedia выпустила специальную объектно-ориентированную среду разработчика в виде стандартного 32-разрядного приложения Microsoft Windows.Благодаря этому собственно процесс программирования при подготовке интерактивных элементов Flash и анимации сведен к минимуму: пользователю достаточно создать новый проект в удобной и дружественной среде, для чего необходимо лишь разобраться в принципах работы программного пакета и уметь обращаться с мышью, — по окончании работы программа встроит созданные объекты в документ HTML автоматически.

В среду Flash интегрирован специальный язык программирования, немного похожий на Java, но более простой в изучении. Написанные с его помощью программные модули импортируются в документ как апплеты и вставляются в нужный кадр анимации, где должно произойти динамическое изменение изображения. С помощью специального редактора можно написать небольшую программку, управляющую проигрыванием клипа, создать элементы, поддающиеся индивидуальным настройкам посетителями сайта, генерировать заставку с несколькими вариантами продолжения. Способов реализации этой возможности существует множество, но все-таки, чтобы использовать всю мощь встроенного языка, необходимо иметь определенный опыт в программировании. Механизм технологии Macromedia Flash достаточно прост: в общем случае подготовленные разработчиком интерактивные элементы и анимация превращаются в интерпретируемый код, который импортируется в страницу HTML. Для того чтобы клиентский броузер мог распознать объекты Flash, необходимо проинсталлировать на компьютере пользователя специальную надстройку кброузеру (plug-in), которая носит название Macromedia Flash Player. Эта про- грамма распространяется бесплатно фирмой-разработчиком данной технологии. Пользовательский броузер, сталкиваясь с документом в формате Flash, как правило, сам связывается с соответствующим узлом, после чего начинает загрузку и установку Flash Player в автоматическом режиме. Проигрыватель Flash уже интегрирован в броузеры Microsoft Internet Explorer 4.0-5.0 иNetscape Navigator версии 4.01 и выше. Другие броузеры, к сожалению, не уме- ют распознавать данный стандарт, в чем и заключается его основной недостаток.

  DHTML

DHTML (Dynamic Hyper Text Markup Language, динамический язык разметки гипертекста) является расширением стандарта HTML и позволяет создавать web-страницы, включающие такие интерактивные элементы, как движущийся фон, расположенный под статичным содержимым документа, движущиеся объекты, выпадающие меню, кнопки, подсвечивающиеся при наведении курсорамыши, анимацию, бегущие титры и многое другое. По большому счету DHTML представляет собой «среднее арифметическое» между технологиями HTML и JavaScript. Этот стандарт использует простые сценарии, подготовленные с по- мощью интерпретируемого макроязыка, обрабатываемого броузером совместно с кодом HTML. Такие сценарии именуются «скриплетами». Для создания скриплетов используются стандартные расширения DHTML и любой макроязык, поддерживающий директивы интерфейса ActiveX. DHTML распознается броузерами Microsoft Internet Explorer, начиная с версии 4.0 ивыше.

  XHTML и XML

XML (Extensible Markup Language, расширяемый язык разметки) является принципиально новым стандартом, предложенным в 2000 году создателем языка HTML — консорциумом World Wide Web Consortium (W3C). Это новейшая технология изготовления web-страниц, и ее окончательная спецификация $ настоящий момент еще находится в стадии разработки. По структуре XML представляет собой не собственно язык разметки гипертекста, а так называемый метаязык, предназначенный для описания других языков более низкого уровня. В свою очередь XHTML (Extensible Hypertext Markup Language, расширя емый язык разметки гипертекста) представляет собой промежуточный вариант между XML и HTML 4.O. Именно за счет его широкого применения W3C планирует осуществить постепенный переход от одного стандарта к другому. В спецификацию XHTML заложен принцип обратной совместимости. Иными словами, владельцам web-сайтов, страницы которых выполнены по технологии HTML 4.0или более ранних версий, не придется как-либо изменять формат опубликованных в Интернете документов: все дополнения и расширения нового языка полностью включают в себя предыдущие стандарты.

XML и XHTML значительно расширяют возможности HTML и позволяют web-мастерам использовать практически весь заложенный в современный Интернет потенциал на сто процентов, в первую очередь в сфере электронной коммерции. Поскольку XHTML подразумевает модульную архитектуру построения электронных документов, данный стандарт позволяет создавать механизмы взаимодействия с нетрадиционными для Интернета устройствами, такими как факсы, сотовые телефоны и телевизоры. По мнению аналитиков, в не столь отдаленном будущем XML станет основным стандартом во Всемирной сети, посте- пенно включив в себя большинство других использующихся ныне форматов. Необходимо отметить, что в рамках настоящей работы описанные в этом уроке Интернет-технологии подробно рассматриваться не будут, за исключением ме- тодик применения каскадных таблиц стилей CSS, о которых мы подробно побеседуем в восьмом уроке. Читателям, заинтересовавшимся какой-либо из описанных выше web-технологий, рекомендую обратиться к справочным материалам, опубликованным в Интернете, либо к специализированной литературе, например, книгам издетельства «Питер»: С. Палмер, «VBScript и ActiveX: библиотека программиста»; Дж. Бранденбау, «JavaScript: сборник рецептов для профессионалов»; С. Холзнер, «PERL: специальный справочник»; Р. Дарнелл, «JavaScript: справочник»; А. Хоумер, К. Улмен, «Dynamic HTML: справочник»; Сандра Э. Эдди, «XML: справочник»; С. Джерол, «Секреты разработки Web-приложений на Visual BASIC 5».

  Web-хостинг

Хостинг — наука сложная. На первый взгляд кажется, что самый тяжелый и трудоемкий этап в процессе создания персональной домашней странички или web-сайта — это написание кода и рисование графики. Увы, как только нанесены последние косметические штрихи и проведены заключительные «предстартовые испытания» на локальном компьютере и страничка наконец готова предстать перед требовательными взорами публики, неминуемо возникает вопрос о размещении ее в Интернете. Разумеется, подойти к этой проблеме следует со всей серьезностью: от того, где именно будет опубликован результат вашего творчества, зависит и посещаемость страницы, и те возможности, которые вы сможете на ней реализовать. Поэтому подумать о хостинге следует заранее, еще до того, как вы возьметесь за разработку страниц, и не просто подумать, а оста- новиться на каком-то одном варианте, исходя из своих потребностей и реальных объемов бюджета.

ПРИМЕЧАНИЕ Web-хостингом, или просто хостингом, называется размещение web-страниц в сети Интернет на заранее арендованном дисковом пространстве какого-либо сервера. При этом под хостингом подразумевается не публикация web-страницы, а именно аренда такого дискового пространства.

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

  Путь первый. Бесплатный хостинг

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

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

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

ПРИМЕЧАНИЕ Баннером называют рекламное изображение фиксированного размера, как правило, содержащее анимацию, которое выполняет роль гиперссылки на тот или иной ресурс Интернета. Существуют основывающиеся на технологии CGI алгоритмы, позволяющие демонстрировать произвольную или заданную последовательность рекламных баннеров на удаленной web-странице.

Более того, если web-мастер решил использовать, на своем сайте какие-либо CGI-скрипты, в частности доску объявлений, чат, систему автоматического по- иска или гостевую книгу, в большинстве случаев от этой затеи придется отказаться. Почти каждый сервер может предложить вам стандартный набор подобных программ, включающий все упомянутые элементы, но такие скрипты практически не поддаются индивидуальной настройке, либо возможности на- стройки очень ограничены. Использование же CGI, написанных самим пользователем или позаимствованных с серверов freeware, не допускается. И еще один немаловажный недостаток условно-бесплатного хостинга. Все адреса служб, предлагающих подобного рода услуги, обычно широко известны пользователям Интернета, поэтому публиковать там страницы коммерческих организаций считается дурным тоном: если фирма не может разместить свой сайт на платном сервере, значит, у нее нет денег. Иными словами, эта компания ненадежна. Поэтому бесплатная публикация хороша для индивидуальных домашних страничек, а также для некоммерческих организаций и обществ, которые не очень заботятся о собственном имидже. Имена, назначаемые сайтам службами бес- платного хостинга, тоже довольно жуткие на вид, выглядят они приблизительно так: http://www.members.имя_сервера.сот/~ваше_имя. Счастливым исключением являются лишь, пожалуй, службы webjump и newmail.ru. Во всех остальных случаях страничке можно назначить www-псевдоним, воспользовавшись системами da.ru, null.ru или им подобным.

ПРИМЕЧАНИЕ WWW-псевдонимом называют короткий адрес URL, назначаемый специальными серверами странице или сайту с более длинным адресом того же стандарта. Как правило, данная услуга является условно-бесплатной. Более подробно о системе www-псевдонимов рассказано в 11 уроке.

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

Таблица 2.1. Службы, предоставляющие бесплатный хостинг

Название

Размер, Мбайт

Поддержка CGI

Реклама

Вид доступа

Адрес

FortuneCity   20 Нет Нет FTP, browser http://www.fortunecity.com
Hypermart  10 Да Баннер, всплы- вающее окно FTP http://www.hypermart.net
Virtual Avenue 20 Да Баннер FTP http://www.virtualave.net
Xoom 11 Нет Баннер FTP http://www.xoom.pom
Tripod 11 Нет Всплы- вающее окно FTP, Browser, FrontPage http://www.tripod.com
Webjump 25 Да  Баннер FTP http://www.web- jump.com
Freeweb 10 Нет  Нет FTP http://freeweb.digi- web.com
Icestorm 3 Нет  Нет Browser http://www.icestorm.com
Cybercities Не ограничено Нет Нет FTP http://www.cyber- cities.com
Escalix 6 Нет Баннер Browser http://www.escalix.com/ freepage
GO.COM Не ограничено Нет Footer Browser http://www.homepa- ges.go.com
Codename  2 Да Баннер FTP http://www.code- name.com
Homestead 5 Нет Footer Browser http://www.home- stead.com

Intel Cities

3 Да Нет Browser http://www.intel- cities.com
CONK 1 Нет Всплы- вающее окно FTP http://conk.com
B-City 5 Нет Баннер Browser http://www.bcity.com
Spaceports Не ограничено Нет Всплы- вающее окно FTP http://www.space- ports.com
Freeservers 12 Нет Баннер FTP http://www.freeser- vers.com
Span Не ограничено Нет Footer FTP http://www.home.ch/ welcome.html
For Free 2 Нет Баннер FTP http://www.forfree.at
Халява.ru 3 Нет Ссылка E-mail http://www.halyava.ru
Новая почта 16 Нет Нет FTP http://www.newmail.ru
Agava Не огрничено Да Баннер FTP   http://www.agava.ru

Условия публикации web-страниц, как правило, представлены непосредственно на серверах, предлагающих данную услугу. Помимо дискового пространства многие подобные службы предлагают пользователю также бесплатный почтовый ящик (служба «Новая почта» — целых три), некоторые к тому же создают для вашего ресурса полноценный домен третьего уровня, вида http://www.your_site.server.com или .ru. Среди таких служб можно перечислить ХООМ, Webjump, Agava и «Новая почта». Причем последняя регистрирует целых три домена (два из них пользователь может назначить любым вложенным директориям своего ресурса) и, в отличие от своих «конкурентов», не настаивает на включении в состав ваших web-страниц какой-либо посторонней рекламы.

  Путь второй. Хостинг у провайдера

Большинство Интернет-провайдеров предлагают вместе с какой-либо из своих услуг дисковое пространство под домашнюю страничку. Этот вариант, безусловно, значительно лучше бесплатного хостинга: во-первых, провайдер несет перед вами ответственность за качество и бесперебойность работы собственного сервера, во-вторых, на вашей страничке не будет чужой и не нужной вам рекламы, а ваш почтовый ящик не станет переполняться нежелательной корреспонденцией, в-третьих, вы всегда можете позвонить в службу технической поддержки и проконсультироваться с дежурным администратором по любому вопросу. Однако не лишен этот подход и очевидных недостатков. Далеко не все провайдеры позволяют использовать на своих серверах CGI-скрипты, имя вашей странички будет достаточно длинным и неудобочитаемым, а самое главное — с момента публикации своего сайта вы будете намертво привязаны к данной конкретной фирме, поскольку стоит вам сменить провайдера или временно прекратить пользоваться Интернетом, как ваша страничка будет незамедлительно удалена. В принципе, несложно перенести ее на другой хост, но тогда все приложенные ранее усилия по ее рекламе будут потрачены впустую. Да и пользователь, реши он обратиться к вашему ресурсу через какое-то время, будет изрядно разочарован, не найдя этой странички по известному ему адресу.

  Путь третий. Платный хостинг

Легенда о том, что платный хостинг весьма и весьма дорог, — не более чем миф. В общем случае оплата аренды нескольких мегабайт дискового пространства, достаточных для размещения средних размеров web-сайта, составляет от пяти до десяти долларов в месяц, пятьдесят долларов, как правило, — верхний предел. Причем публикация страницы на иностранных серверах в ряде случаев обходится значительно дешевле, чем на российских. Очевидно, что платный хостинг практически лишен описанных выше недостатков, вы же можете быть уверены, что с сервером, обслуживающим ваш сайт, ничего не случится. Более того, в стоимость услуг зачастую входит регистрация для вашей страницы домена третьего уровня, благодаря чему ее адрес будет выглядеть как http://www.your_site.server.com или .ru, что по всем меркам достаточно прилично и престижно. Однако надо помнить, что услуги различных компаний, предлагающих платный хостинг, значительно отличаются по ассортименту. Чтобы спектр предлагаемых услуг позволил вам достаточно комфортно чувствовать себя в роли web-мастера и ни в чем не ограничивал ваши потребности, он должен как минимум отвечать следующим требованиям.

  Путь четвертый. Хостинг у знакомых

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

Завершая тему web-хостинга, перечислю наиболее распространенные требования, выдвигаемые большинством предоставляющих хостинг служб, к размещавшым у них ресурсам. Во-первых, как правило, запрещена публикация порнографических материалов и другой информации сексуального характера (для размещения в Интернете порносайтов и иных подобных проектов существуют специальные серверы). Во-вторых, в ряде случаев запрещено создание виртуальных библиотек с материалами, авторские права на которые принадлежат третьим лицам, а также коллекций музыкальных произведений в формате МРЗ. На бесплатных серверах не приветствуется публикация политической рекламы и иногда сайтов коммерческой направленности. И наконец, запрещена пропаганда насилия, национализма и прочие нарушения российского и международного законодательства, например, продажа посредством Интернета наркотиков, оружия, похищенных предметов и т. д.

  Что нового мы узнали?

В этом уроке мы изучили:

Сайт создан в системе uCoz