Россия, Санкт Петербург |
HTML 4.01
Цель лекции: Познакомить слушателей с развитием стандарта языка гипертекстовой разметки, рассказать о проблемах языка и способах их решения, дать представление о структуре HTML-документа, в частности, о разделе описания типа документа.
Дополнительные материалы: Презентацию к данной лекции Вы можете скачать здесь.
Информация в Интернете представлена преимущественно в виде web-страниц. Большинство web-страниц написано на языке гипертекстовой разметки ( Hyper Text Markup Language, HTML ). HTML является подмножеством стандартного обобщённого языка разметки ( Standard Generalized Markup Language, SGML ). SGML позволяет описывать данные с очень сложной структурой, например, технические документы, однако, он весьма трудоемок. Среди областей применения SGML можно назвать техническую документацию фирмы Boeing и документы Европейской Комиссии. HTML интерпретируется специальными программами - браузерами, которые обработав команды этого языка, формируют документ в удобном для пользователя виде. Наиболее популярными на сегодняшний день браузерами являются Microsoft Internet Explorer, Mozilla Firefox, Safari, Google Chrome и Opera. Язык гипертекстовой разметки был разработан британским учёным Тимом Бернерсом-Ли приблизительно в 1991-1992 годах, когда он работал в Центрально-Европейском Институте ядерных исследований (CERN) в городе Женеве. HTML создавался как язык для обмена научной и технической документацией. HTML состоит из команд, которые называются тэги (tag). Теги заключаются в угловые скобки. Большинство тэгов - парные. Тэги без слэша называются открывающими, тэги со слэшем, соответственно - закрывающими: <tag> … </tag>. Открытые и закрытые тэги образуют блоки, внутри которых могут быть вложены другие блоки:
<tag1> <tag2> </tag2> </tag1>
Кроме того, что язык гипертекстовой разметки позволяет формировать красивые документы, в нем реализована возможность использования гиперссылок. Гиперссылки бывают внутренними и внешними. Внутренние гиперссылки облегчают навигацию внутри одного документа, внешние гиперссылки - соединяют разные документы, например, расположенные на разных web-серверах. Чуть позже появилась возможность работы с мультимедийным контентом.
Изначально HTML задумывался как платформенно-независимый язык. Он должен был одинаково корректно отображаться на любых устройствах вывода, например, на экране ноутбука, сотового телефона или органайзера. Однако с развитием современных мультимедийных технологий наблюдается отход от этого принципа.
Версии языка HTML
Официальной спецификации HTML 1.0 не существует. До 1995 года существовало множество неофициальных стандартов HTML. Чтобы стандартная версия отличалась от них, ей 22 сентября 1995 года сразу присвоили второй номер, 14 января 1997 года вышла версия HTML 3.2. В третьей версии появилась возможность создания таблиц, "обтекания" изображений текстом и отображение сложных математических формул. 18 декабря 1997 года был принят стандарт HTML 4.0. В этой версии HTML была предпринята попытка сделать язык строже. В частности, многие элементы были объявлены устаревшими и нерекомендованными (deprecated). 24 декабря 1999 года была принята существенно модифицированная версия языка - HTML 4.01, на основе HTML 4.01 Strict 15 мая 2000 года вышел стандарт ISO/IEC 15445:2000 (так называемый ISO HTML ). В настоящее время в стадии разработки находится HTML 5 [1].
Перспективы развития HTML
20-го ноября 2007-го года был опубликован проект пятой версии HTML. Со временем у HTML выявились некоторые недостатки. В частности, ему не хватает строгости. Браузеры пытаются визуализировать даже ошибочный код. Вместе с тем, один и тот же набор тэгов HTML может отображаться разными браузерами по-разному. В качестве дальнейшего развития языка предлагается XHTML ( Extensible Hypertext Markup Language - "расширяемый язык разметки гипертекста"). XHTML предъявляет более строгие требования к синтаксису. Например, все тэги должны иметь заключительную часть. Например, тэг разрыва строки <br> рекомендуется закрывать - <br/>. То же самое относится и к тэгу <img src ="URL изображения" /> и так далее. HTML был нечувствителен к регистру. В XHTML-документах тэги и имена атрибутов рекомендуется писать строчными буквами. Существуют некоторые другие ограничения. Как и HTML, XHTML является подмножеством языка SGML, однако XHTML, в отличие от предшественника, основан на XML. Стандарт XHTML 1.0 был предложен www-консорциумом 26 января 2000 года. В будущем планируется принятие спецификации XHTML 2.0, которая не будет совместима со старыми версиями HTML и XHTML. Как уже говорилось, в настоящее время разрабатывается HTML 5. Эта работа ведется группой Web Hypertext Application Technology Working Group в рамках работы над спецификацией Web Applications 1.0. Предполагается, что HTML 5 будет лучше представлять семантику таких проектов, как форумы, сайты аукционов, поисковых систем, онлайн-магазинов и т. д., не очень удачно вписывающихся в модель XHTML 2 [1].
Структура HTML-документа
Как уже говорилось выше, HTML-документы состоят из тэгов. В HTML тэги можно писать в любом регистре, например, <TABLE>…</table>, в XHTML тэги нужно писать строчными буквами, только <table>…</table>. В HTML не обязательно закрывать непарные тэги, такие как <br> или <input type="text">. В XHTML непарные тэги нужно закрывать, например, <img src="1.jpg" width="200"/>. Допускается вложенность тэгов, например,
<center> <h3> <strong> О сколько нам открытий чудных готовит просвещенья дух! </strong> </h3> </center>
Кроме того, атрибуты тэгов в XHTML нужно заключать в кавычки, например,
<body bgcolor="olive" text="purple">
Собственно (X)HTML -код web-страницы заключается между тэгами <html> и </html>. Однако вначале желательно описать тип документа ( DTD - Document Type Definition ). Эта строка облегчает корректное отображение web-страницы в браузере. Наиболее употребительны следующие способы задания DTD [2].
Строгий (Strict): Исключает все нерекомендованные консорциумом W3C тэги и атрибуты, предназначенные для внешнего оформления. Вместо них рекомендуется использовать каскадные таблицы стилей.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
Переходный (Transitional): содержит устаревшие теги в целях совместимости и упрощения перехода со старых версий HTML, но исключает применение фреймов, т.е. тэгов <frameset> и <frame>.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
С фреймами (Frameset): включает то же, что и схема Transitional, но при этом разрешает работу с фреймами.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
Внутри тэгов <html> и </html> размещают невидимый заголовок
<head> <title>Это - моя первая web-страница</title> </head>
<body bgcolor="olive"> </body>
Невидимый заголовок используется поисковыми сайтами для индексации web-страниц, внутри тела web-страницы располагается содержимое HTML-документа [2].
Браузерные войны
В середине 1990-х годов наметилось противостояние двух основных производителей браузеров того времени Netscape и Microsoft. Производители внедряли собственные наборы элементов в HTML-разметку. Особенно большие трудности были при создании кросс-браузерных программ на языке JavaScript. Это создавало трудности для web-мастеров, вынужденных создавать сразу несколько версий сайтов, адаптированных под разные браузеры. После вытеснения с рынка Netscape данная проблема потеряла актуальность, впрочем, создавая определенные неудобства пользователям альтернативных браузеров.
На современном этапе можно констатировать рост популярности браузеров, следующих рекомендациям W3C (Microsoft Internet Explorer, Mozilla Firefox, Safari,Google Chrome, Opera). При этом самым популярным браузером на сегодняшний день остается MS Internet Explorer.
Краткие итоги
HTML задумывался как платформенно-независимый язык, предназначенный для создания электронных документов. Эти документы должны были одинаково хорошо отображаться на самых разных платформах, браузерах и устройствах вывода. Web-страницы можно связывать друг с другом и с другими ресурсами с помощью гиперссылок. Вследствие войн производителей браузеров у пользователей возникали проблемы с чтением web-страниц. Этому способствовала, в частности, недостаточная строгость HTML и фирменные дополнения фирм-производителей браузеров, не входящие в стандарт. Предлагается со временем перейти на более строгий вариант языка гипертекстовой разметки - (X)HTML. Параллельно разрабатывается стандарт HTML 5.
Набор для практики
Вопросы:
- Где применяется SGML?
- Кто разработал язык гипертекстовой разметки?
- Какие браузеры вы знаете?
- Назовите самый распространенный скриптовый язык
- Назовите отличия HTML от (X)HTML
Упражнения:
- Сделайте подборку всех устаревших и нерекомендованных команд HTML.
- Подготовьте сообщение об XML и SGML. Как HTML соотносится с этими двумя языками.
- Подготовьте сообщение о мультимедийных возможностях HTML.
- В каких случаях лучше применять XML, чем HTML?