Начало истории HTML относится к 1969 году, когда Чарльз Гольдфарб, работающий в компании IBM, создал прототип языка для разметки технической документации, впоследствии названного GML, а с приданием ему в 1986 году статуса международного стандарта – SGML (StandardGeneralized Markup Language). Этот обобщенный метаязык предназначен для построения систем логической, структурной разметки любых разновидностей текстов. Слово «структурная» означает, что управляющие коды, вносимые в текст при такой разметке, не несут никакой информации о форматировании документа, а лишь указывает границы и соподчинения его составных частей, т.е. задают его структуру. Однако сам по себе SGML не получил сколько-нибудь заметного распространения до тех пор, пока в 1991 г. сотрудники европейского института физики частиц (CERN),занятые созданием системы передачи гипертекстовой информации через Интернет, не выбрали SGML в качестве основы для нового языка разметки гипертекстовых документов. Этот язык – самое известное из приложений SGML – был назван HTML (Hyper Text Markup Language – язык разметки гипертекста).
Гипертекст – информационная структура, позволяющая устанавливать смысловые связи между элементами текста на экране компьютера таким образом, чтобы можно было легко осуществлять переходы от одного элемента к другому. На практике в гипертексте некоторые слова выделяют путем подчеркивания или окрашивания в другой цвет (гиперссылки). Выделение слова говорит о наличии связи этого слова с некоторым документом, в котором тема, связанная с выделенным словом рассматривается более подробно.
В 1991 – 1992 годах в стенах Европейского совета по ядерным исследованиям в Женеве (Швейцария) разработку языка возглавил Тим Бернерс-Ли. Изначально язык HTML был задуман и создан как средство структурирования и форматирования документов без их привязки к средствам воспроизведения (отображения). Текст с разметкой HTML должен был без стилистических и структурных искажений воспроизводиться на оборудовании с различной технической оснащенностью (цветной экран современного компьютера, монохромный экран органайзера, ограниченный по размерам экран мобильного телефона или устройства и программы голосового воспроизведения текстов). С течением времени, основная идея платформонезависимости языка HTML была отдана в жертву современным потребностям в мультимедийном и графическом оформлении.
Текстовые документы, содержащие код на языке HTML, обрабатываются специальными приложениями, которые отображают документ в его форматированном виде. Такие приложения, называемые «браузерами», предоставляют пользователю удобный интерфейс для запроса веб-страниц, их просмотра и, при необходимости, отправки введенных пользователем данных на сервер. Наиболее популярными на сегодняшний день браузерами являются Internet Explorer, Mozilla Firefox и Opera.
Версия HTML 1.0 была предельно проста – кроме тегов для записи гипертекстовых переходов, она предусматривала лишь несколько тегов для логической разметки текста и один тег IMG для записи ссылок на файлы с картинками-иллюстрациями. Официальной спецификации HTML 1.0 не существует. До 1995 года существовало множество неофициальных стандартов HTML. Чтобы стандартная версия отличалась от них, ей сразу присвоили второй номер.
Развитие графических средств вывода информации провоцировало появление в следующих версиях HTML многочисленных тегов, позволяющих непосредственно управлять видом элемента на экране. Описанием стандартов HTML, начиная с версии 2.0 (1994 года), стала заниматься организация W3C (World Wide Web Consortium – консорциум Всемирной паутины). 22 сентября 1995 года HTML 2.0 был одобрен как стандарт языка.
В 1995 году Консорциум ввел в HTML версии 3.0 поддержку иерархических стилевых спецификаций CSS (Cascading Style Sheets – каскадные таблицы стилей). CSS – это разрешение противоречий между идеологией структурной разметки и потребностями разработчиков в гибких и богатых средствах визуального представления элементов на экране. Язык CSS имеет свой собственный синтаксис и позволяет задавать визуальные параметры представления элементов на экране. Таким образом, CSS берет на себя задачу объяснить браузеру, как отображать элементы на экран, и позволяет тем самым отделить структурную разметку документа (в HTML-коде) от описаний визуальных свойств объектов (в CSS- коде).
Версия 3.1 официально никогда не предлагалась, и следующей версией стандарта HTML стала 3.2 (14 января 1997) в которой были опущены многие нововведения версии 3.0, но добавлены много новых возможностей, таких как создание таблиц, «обтекание» изображений текстом и отображение сложных математических формул, нестандартные элементы, поддерживаемые браузерами «Netscape» и «Mosaic».
В 1999 году W3C опубликовала спецификации версии HTML версии 4.0 (18 декабря 1997). Она содержала много элементов, специфичных для отдельных браузеров, но в то же время произошла некоторая «очистка» стандарта. Многие элементы были отмечены как устаревшие и нерекомендованные. В частности, элемент FONT, используемый для изменения свойств шрифта, был помечен как устаревший (вместо него рекомендуется использовать таблицы стилей CSS). Затем был опубликован стандарт HTML 4.01 (24 декабря 1999). На этом развитие языка HTML закончилось окончательно.
Черновой вариант HTML 5 появился в Интернете 20 ноября 2007 года. Параллельно велась работа по дальнейшему развитию HTML под названием XHTML (Extensible Hypertext Markup Language – «расширяемый язык разметки гипертекста»). XHTML по своим возможностям сопоставим с HTML, однако предъявляет более строгие требования к синтаксису.
ХHTML создан для хранения структурированной информации. Названия тегам задает разработчик и выбирает их так, чтобы они соответствовали содержанию элемента. Теги в могут содержать атрибуты. Имена атрибутов набор их значений также задаются разработчиком. Язык ХHTML является универсальным средством для создания структур данных, которые можно использовать для самых разных надобностей, в том числе, хранить в ХML – файле настроенные данные для компьютерной программы или использовать для создания гипертекстовой страницы. На базе ХML можно строить другие языки разметки.
Вариант XHTML 1.0 был одобрен в качестве рекомендации Консорциума всемирной паутины 26 января 2000 года.
Спецификация XHTML 2.0 разрывает совместимость со старыми версиями HTML и XHTML. Группой WHATWG (Web Hypertext Application Technology Working Group) разрабатывалась спецификация Web Applications 1.0, часто неофициально называемая HTML 5, которая расширяет HTML для лучшего представления семантики различных типичных страниц, которые не очень удачно вписываются в модель XHTML 2.