Язык разметки гипертекста
Вы запускаете браузер, если пользуетесь Интернетом, набираете в адресной строке адрес сайта и получаете желаемую страницу. Вот, вкратце, действия пользователя, который бродит в сети Интернет. Он не задумывается, что лежит за всем этим. Ему это не нужно. Но это нужно нам, профессиональным веб-разработчикам, чтобы максимально удовлетворить пользовательские запросы.
Мы не будем углубляться в историю и стряхивать пыль с архивных документов 90-х годов XX столетия, но базовые понятия рассмотрим. Итак, что же лежит в основе всемирной сети Интернет? Базовыми являются три технологии.
URI (Universal Resource Identifier)
— универсальный идентификатор ресурса. Именно это пользователи набирают в строке браузера.HTTP (HyperText Transfer Protocol)
— протокол передачи гипертекста. На основе этого протокола строятся взаимодействия клиент-сервер.HTML (HyperText Markup Language)
— язык разметки гипертекста. Все веб-страницы в конечном итоге преобразуются в HTML-страницы.Рассмотрим чуть подробнее каждую из этих технологий…
Для того чтобы найти в огромной сети какой-нибудь определенный документ, у него должно быть уникальное, отличное от всех остальных документов имя. Понятие "имя" не совсем корректно, потому что мы привыкли применять его к файлам, здесь же ситуация несколько иная. В Сети существует множество серверов, на которых хранятся миллиарды файлов. Естественно, что имена этих файлов могут совпадать. Например, на одном сервере может находиться сотня файлов index.html. По этой причине для того, чтобы их различать, существует универсальный идентификатор ресурса (URI). Вот так выглядит типичный URI:
http://www.artel.by/index.html
В нем дословно говорится, что по протоколу HTTP с сервера
www.artel.by надо получить файл index.html, который находится в корневом каталоге этого сервера. Понятно, что в корневом каталоге может находиться только один файл с именем index.html. Зато в других — сколько угодно. Вот, например, URI внутренней папки сервера:http://www.artel.by/foider/index.html
Протокол передачи гипертекста используется в Сети с 1990 года. Последний стандарт HTTP/1.1. Этот протокол работает по принципу запрос/ответ. Вначале браузер (или любой другой клиент) отправляет на сервер запрос, который включает в себя метод запроса, uri, версию протокола, MIME-подобное сообщение, содержащее управляющую информацию запроса, информацию о клиенте и тело сообщения (если оно есть). Сервер этот запрос обрабатывает и возвращает
клиенту ответ, который содержит версию протокола, и код статуса (успех или ошибка), MIME-подобное сообщение с информацией о сервере, метаинформацию о содержании ответа, и само тело ответа (например, HTML-страничку).Допустим, пользователь набрал в адресной строке браузера
URI, браузер отправил запрос, сервер его обработал и вернул браузеру страничку. Причем эта страничка обязательно будет размечена с помощью HTML. И любой браузер поймет, что это именно HTML-страничка. Собственно, для этих целей и был разработан язык HTML. Он универсальный и платформо-независимый, поэтому правильно отображается на компьютерах с различными операционными системами. В настоящее время именно HTML является единственным языком в глобальной сети Интернет. Язык HTML — это упрощенная версия стандартного общего языка разметки SGML (Standart Generalised Markup Language). Язык SGML достаточно сложный и запутанный, его спецификация занимает 600 страниц, и он предназначен для создания других языков разметки.Сейчас достаточно сложно себе представить ситуацию 80-х годов, когда все начиналось. Сложно представить мир без Интернета, без тысяч серверов и миллионов веб-сайтов. Тем интереснее будет проследить эволюцию языка HTML.
Начало было положено Тимом Бернерс-Ли, выпускником Оксфордского университета. В 1989 году он выдвинул предложение Системы Гипертекстовых Документов, которая должна была использоваться внутри CERN. В 1990 году он назвал эту систему World Wide Web (на русский язык это можно перевести как Всемирная Паутина). Одной из составляющих системы был язык разметки гипертекста. Его основы были заложены в 1990 году, когда Бер-нерс-Ли разрабатывал первый веб-браузер. Наконец, в 1993 году появилась первая версия языка— HTML 1.0. Но он не был стандартом. И только в 1995 году, когда закончилась разработка языка HTML 2.0, он стал таковым. К тому времени новую версию языка HTML полностью поддерживало большинство браузеров.
Что же было в этой версии? Во-первых, полностью утвердилась структура документа (она осталась неизменной до настоящего времени). Во-вторых, достаточно широко были представлены элементы разметки текста, такие как
<Р>, <Н1-6>, <UL>, <LI>, <CITE>, <CODE>, <EM>, <B>,
<I>, <BR> И Другие.В-третьих, появился тег <img>, позволивший добавлять рисунки. Конечно же, можно было вставлять гиперссылки, для этих целей предназначался элемент <а> с атрибутом href. Были и формы, реализованные элементами <form>, <input>, <select>, <textarea>. Как мы видим, очень многое из сегодняшнего стандарта языка HTML 4.0 уже было реализовано в 1995 году в спецификации HTML 2.0. Вне всяких сомнений, именно этот язык стал базисом, который уже потом усложнялся и дополнялся.
В 1994 году было решено разбить язык HTML на уровни. Это было сделано для удобства, чтобы при реализации очередного уровня сохранялась обратная совместимость, иными словами, имея принципиальные отличия, новый уровень непременно включал в себя все предыдущие.
Уровень 0
— обязательный для поддержки всеми браузерами. Включает в себя заголовки, якоря, списки.Уровень 1
— добавляются рисунки и элементы выделения текста (<ем>, <в>, <i> и др.).Уровень 2
— добавляются формы. Уровень 3 — добавляются таблицы.Очевидно, что язык HTML 2.0 является языком второго уровня. С его помощью нельзя верстать страницы со сложной структурой, потому что это невозможно сделать без таблиц.
Дальнейшим развитием языка стала версия
HTML 3.0. В ней были реализованы таблицы, обтекание текста вокруг фигур и многие другие идеи. Несмотря на обратную совместимость, отличия между версиями 2.0 и 3.0 были огромными, по этой причине браузеры очень медленно и достаточно вяло включали поддержку новых тегов и новых возможностей. Версия 3.0 так и не стала стандартом. Зато им стала версия HTML 3.2. Она создавалась с учетом мнений производителей браузеров (Microsoft и Netscape), что естественным образом привело к положительным результатам. Примечателен тот факт, что еще до официального утверждения данного стандарта (это произошло в 1997 году), уже в 1996 году практически все браузеры полностью поддерживали его. В эту версию включили многие теги, которые до сих пор были специфичны для тех или иных браузеров. Фактически данный стандарт объединил и легализовал эти теги. Из нововведений надо отметить таблицы, возможность манипуляций со шрифтом (тег <font>), возможность использования на страницах Java-апплетов (тег <applet>).Во многом благодаря стандарту HTML 3.2 веб-дизайн испытал небывалый взлет. Появилась возможность проектировать и отображать на экране сложные композиции, ничем не уступающие журналам, газетам и другим печатным изданиям (это стало возможным благодаря табличной верстке). Но из-за медленных каналов связи приходилось значительно ограничивать применение графики, а многие мониторы отображали не более 256 цветов, так что и богатство красок оставляло желать лучшего. Обобщая, можно сказать, что инструментарий уже позволял делать красивые и сложные сайты, а техническая база — нет.
Несмотря на то, что язык HTML 3.2 включал многие расширения, внедренные разработчиками браузеров, он все еще оставался достаточно ограниченным, и новый стандарт не заставил себя долго ждать. Уже в том же 1997 году появилась спецификация HTML 4.0. В нее включили фреймы (<frame>, <frameset>, <iframe>, <noframes>), унифицировали процедуру вставки раз-личных объектов в документ, будь то Flash, Java или Sound, добавив тег <object>, реализовали поддержку каскадных таблиц стилей (CSS), пожалуй, самую полезную новую технологию для верстки (тег <style>, атрибуты class и id к элементам). Кроме того, были значительно усовершенствованы формы и таблицы, а некоторые теги помечены как нежелательные для использования
(<APPLET>, <BASEFONT>, <CENTER>, <DIR>, <FONT>, <ISINDEX>, <MENU>, <S>, <STRIKE>, <U>).Что нового дал язык HTML 4.0? Самое главное и принципиальное отличие — это возможность разделения визуального представления документов и их содержимого документов. Все визуальное представление должно было описываться средствами технологии CSS, а сама структура содержимого — средствами языка разметки HTML. Именно по этой причине в спецификации 4.0 был объявлен нежелательным для использования тег <font>, т. к. он отвечал именно за визуальное представление, а не за структуру документа. Все, что можно было реализовать тегом <font>, реализовывалось средствами CSS.
Надо отметить, что четвертая версия HTML отличается законченностью и полнотой. Фактически, это предел возможностей данного языка. Последняя версия HTML 4.01 стала стандартом в 1999 году, после чего разработка этого языка прекратилась. Производители браузеров перестали вводить новые теги, так что поддержка четвертой версии стала повсеместной и полной. На этом закончились споры и прения насчет HTML, а камнем преткновения стали каскадные таблицы стилей и будущий язык разметки гипертекста, который должен заменить HTML.