Как нетрудно предположить по его названию, язык HTML(HyperText MarkUp Language) относится к числу так называемых языков разметки текста(markup languages). Под термином «разметка» понимается общая служебная информация, которая не выводится вместе с документом, но определяет; как должны выглядеть те или иные фрагменты документа. Например, вы можете потребовать, чтобы какое-либо слово выводилось жирным или курсивным шрифтом, вывести отдельный абзац особым шрифтом или оформлять заголовки увеличенным шрифтом. Текстовый редактор, в котором я ввожу этот абзац, тоже использует особую форму разметки для представления тех атрибутов форматирования, которые я выбираю. Таким образом, в нем тоже используется особая разновидность языка разметки. Короче говоря, язык разметки, используемый моим текстовым редактором, представляет собой средство для описания визуального оформления текста в моих документах.
В наши дни существует множество разных языков разметки. Например, в коммуникационных программах особая форма разметки определяет смысл каждого пакета из нулей и единиц, пересылаемого в Интернете. Когда мы подчеркиваем слова в книге, это тоже можно считать своего рода разметкой. Впрочем, любой язык разметки должен решать две важные задачи:
Язык определяет синтаксис разметки. Например, в соответствии со спецификацией HTML конструкция <b>text</b> определяет синтаксически правильную разметку текста, а конструкция <xR5t>text</x4rt> считается неправильной из-за несовпадения открывающего и закрывающего тегов.
Язык определяет смысл разметки. Конечно, вы знаете, что команда <b>text</b> выводит слово text жирным шрифтом. В данном случае определяется смысл, связанный с объявлением некоторого компонента документа.
Стремительное развитие Web за последние несколько лет наглядно показывает, что самым популярным языком разметки текста является HTML. Но как появился этот язык? Кто закрепил за тегами <b> и </b> определенный смысл в документе? Чтобы ответить на этот вопрос, необходимо познакомиться с предшественником HTML — SGML(Standard Generalized Markup Language).