HTML расшифровывается как HyperText Markup Language — «язык гипертекстовой разметки». Это язык, но не язык программирования: на нем не пишут вычисления и логику, им описывают структуру и смысл содержимого страницы — где заголовок, где абзац, где ссылка, картинка или форма.
Содержание
Ниже — что означает каждое слово в расшифровке, по каким признакам HTML отличают от языков программирования, как он делит работу с CSS и JavaScript, какие у него были версии и почему сегодня у стандарта нет номера. Примеры проверены 30.09.2026 разбором в jsdom 30.1.1 на Node.js 24.
Расшифровка HTML по словам
| Слово | Перевод | Что означает на практике |
|---|---|---|
| HyperText | гипертекст | Текст со ссылками на другие документы. Элемент <a> связывает страницы между собой, из этих связей и состоит веб |
| Markup | разметка | Пометки внутри текста, которые сообщают, чем является фрагмент: заголовком, абзацем, списком, таблицей |
| Language | язык | Формальный язык: фиксированный набор элементов и правила их записи и вложения, описанные в стандарте |
Три термина, которые часто называют одним словом «тег»:
- Тег — запись в угловых скобках: открывающий
<p>и закрывающий</p>. - Элемент — то, что тег создает в документе: пара тегов вместе с содержимым. Есть элементы без содержимого и без закрывающего тега, например
<img>и<br>. - Атрибут — свойство элемента в открывающем теге в виде
имя="значение":hrefу ссылки,srcиaltу картинки.
Как выглядит HTML-документ
Минимальная страница целиком. Сохраните текст в файл index.html и откройте его в браузере:
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<title>Моя первая страница</title>
</head>
<body>
<h1>Привет, HTML</h1>
<p>Это абзац со <a href="about.html">ссылкой на другую страницу</a>.</p>
<img src="cat.jpg" alt="Рыжий кот на подоконнике" width="320" height="240">
</body>
</html>
На вкладке браузера появится название «Моя первая страница», на самой странице — крупный заголовок «Привет, HTML» и абзац со ссылкой. Если файла cat.jpg рядом нет, вместо картинки браузер покажет текст из alt.
В этом коде нет ни одной команды. Документ ничего не «делает» по шагам: он сообщает браузеру, из каких частей состоит страница. В <head> лежат служебные сведения (кодировка, название), в <body> — то, что видит человек. Подробный разбор тегов и структуры документа — в статье Введение в основы HTML для новичков.
Файлы с разметкой обычно имеют расширение .html. Вариант .htm остался со времен, когда расширения файлов ограничивались тремя символами, браузеры обрабатывают оба одинаково.
HTML — это язык программирования или нет
Нет. HTML относится к языкам разметки, как XML или Markdown. Путаница возникает из-за слова «язык» и из-за того, что HTML пишут в том же редакторе кода, что и программы.
Язык программирования описывает вычисление: в нем есть переменные, выражения, условия, повторения и функции. В HTML ничего из этого нет. Он описывает документ, а не порядок действий.
Одной декларативности для такого вывода мало. SQL тоже декларативный — в запросе сказано, что получить, а не как, — но в нем есть выражения, условия и вычисления над данными. У HTML таких средств нет вообще.
Проверка на примере: кто считает 2 + 2
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<title>Считает не HTML</title>
</head>
<body>
<p id="markup">2 + 2</p>
<p id="script"></p>
<script>
document.getElementById("script").textContent = 2 + 2;
</script>
</body>
</html>
На странице будут две строки:
2 + 2
4
Первый абзац браузер вывел как есть: для HTML 2 + 2 — это текст из пяти символов, а не выражение. Число 4 посчитал JavaScript внутри <script> и записал во второй абзац. HTML здесь только подключил программу и предоставил место для результата.
Чем HTML отличается от CSS и JavaScript
| HTML | CSS | JavaScript | |
|---|---|---|---|
| Тип языка | язык разметки | язык стилей | язык программирования |
| Что описывает | структуру и смысл содержимого | внешний вид: цвета, шрифты, расположение | поведение: вычисления, реакцию на действия, работу с данными |
| Переменные, условия, циклы, функции | нет | ограниченно: пользовательские свойства, calc(), условия по размеру экрана |
есть |
| Что будет без него | страницы нет | страница без оформления, но читается | страница статична, но читается |
Граница между ними не всегда проходит по бытовому «HTML ничего не умеет». Часть поведения встроена в браузер и включается разметкой: ссылка открывает другой документ, форма отправляет данные, <details> раскрывает скрытый блок, атрибут required не дает отправить пустое поле. Это все еще не программирование: автор страницы объявляет, какой элемент нужен, а готовую логику исполняет браузер.
То же с перетаскиванием элементов мышью. Атрибут draggable="true" лишь помечает элемент как перетаскиваемый, а что произойдет при переносе, описывают обработчики на JavaScript.
Как браузер читает HTML и почему он не выдает ошибок
Браузер получает HTML-документ с сервера по HTTP или HTTPS либо открывает с диска, разбирает текст и строит из него дерево объектов — DOM. По этому дереву рисуется страница, с ним же работают CSS и JavaScript.
Еще одно отличие от языков программирования: разбор HTML не останавливается на ошибке. Программа с синтаксической ошибкой не запустится, а страница с небрежной разметкой откроется — стандарт описывает, как разбирать любой входной текст. Небрежный документ:
<!DOCTYPE html>
<title>Небрежная разметка</title>
<p>Первый абзац
<p>Второй <b>жирный <i>и курсив</b> текст</i>
Дерево, которое получилось после разбора, если записать его обратно в HTML:
<html><head><title>Небрежная разметка</title>
</head><body><p>Первый абзац
</p><p>Второй <b>жирный <i>и курсив</i></b><i> текст</i>
</p></body></html>
Здесь произошло три разных события, и ошибка среди них одна:
- Элементы
<html>,<head>и<body>появились сами. Их теги стандарт разрешает опускать, это не ошибка. - Абзацы закрылись сами. Закрывающий
</p>перед следующим<p>тоже разрешено не писать. - Теги
<b>и<i>закрыты в неправильном порядке — вот это ошибка. Сообщения о ней нет: разборщик по правилам стандарта закрыл<i>внутри<b>и открыл его заново для слова «текст».
Исправленная последняя строка, с правильной вложенностью:
<p>Второй <b>жирный <i>и курсив</i></b><i> текст</i></p>
Из этого не следует, что писать можно как угодно. При ошибках вложенности дерево получается не таким, как задумал автор, и тогда стили и скрипты применяются не к тем элементам. Ошибки разметки ищут валидатором и в инструментах разработчика браузера, потому что сама страница о них промолчит.
Версии HTML и живой стандарт
HTML придумал Тим Бернерс-Ли в ЦЕРН в начале 1990-х для обмена научными документами. Дальше язык развивался версиями:
| Год | Версия | Что важно |
|---|---|---|
| 1991 | первое описание «HTML Tags» | 18 элементов, главное — ссылки |
| 1995 | HTML 2.0 | первая формальная спецификация (RFC 1866), в ней уже есть формы |
| 1997 | HTML 3.2 (январь), затем HTML 4.0 (декабрь) | стандарт ведет W3C; таблицы в 3.2, фреймы, скрипты и связка с CSS в 4.0 |
| 1999 | HTML 4.01 | последняя версия «четверки», основа сайтов 2000-х |
| 2000 | XHTML 1.0 | тот же набор элементов со строгим синтаксисом XML |
| 2014 | HTML5 | семантические элементы, <video>, <audio>, <canvas>, новые поля форм |
| 2016-2017 | HTML 5.1 и 5.2 | последние нумерованные редакции W3C |
| с 2019 | HTML Living Standard | единственный стандарт HTML, его ведет WHATWG; номеров версий нет |
В 2004 году разработчики браузеров создали рабочую группу WHATWG и стали развивать HTML отдельно от W3C. Несколько лет существовали две спецификации: нумерованные версии W3C и постоянно обновляемый документ WHATWG. В мае 2019 года организации договорились, что стандарт один — HTML Living Standard, «живой стандарт».
Живой стандарт не выпускается версиями: в него постоянно вносят правки, а новые возможности доходят до пользователей по мере поддержки браузерами. Поэтому на вопрос «какая сейчас версия HTML» точный ответ — никакая по номеру. Название «HTML5» осталось в обиходе как обозначение современного HTML.
Отсюда и смысл первой строки документа. <!DOCTYPE html> не сообщает номер версии: она включает в браузере стандартный режим отображения. Без нее браузер переходит в режим совместимости со старыми сайтами, и размеры и отступы могут считаться по-другому.
Практическое следствие для автора страницы: проверять нужно не «версию HTML», а поддержку конкретного элемента или атрибута в браузерах своей аудитории. Незнакомый элемент старый браузер не отвергнет, а покажет его содержимое как обычный текст без особого поведения.
Выводы
- HTML — это HyperText Markup Language, язык гипертекстовой разметки: гипертекст — документы со ссылками, разметка — пометки о роли каждого фрагмента.
- HTML не является языком программирования: в нем нет переменных, условий, циклов и вычислений. Это язык разметки, он описывает документ, а не действия.
- Работа разделена на три языка: HTML отвечает за структуру, CSS — за внешний вид, JavaScript — за поведение. Программирование в браузере — это JavaScript.
- Разбор HTML не падает на ошибках: браузер строит дерево по правилам стандарта, но при неправильной вложенности оно может отличаться от задуманного.
- Нумерованные версии закончились на HTML 5.2. С 2019 года действует единый HTML Living Standard, а
<!DOCTYPE html>включает стандартный режим и не указывает версию.
Где применяется / связь с практикой
С HTML начинается любая работа во фронтенде: верстка страниц и писем, доступность для скринридеров, разметка для поисковых систем, компоненты в React или Vue — все это в итоге превращается в элементы HTML. Знание разметки нужно и тем, кто пишет серверную часть: сервер часто отдает готовый HTML.
Освойте тему на практике
Системно пройти путь от первого документа до адаптивной верстки можно на курсе HTML/CSS. Познакомиться с форматом занятий и преподавателями удобно на открытых уроках Otus.
FAQ
Можно ли указать HTML в резюме как язык программирования?
Лучше перечислить его в навыках или технологиях: «HTML, CSS, JavaScript». В графе «языки программирования» HTML выдает незнание терминологии, а сам навык верстки при этом ценен.
CSS — это язык программирования?
Тоже нет, это язык стилей. В нем есть пользовательские свойства и вычисления вроде calc(), но задача CSS — описать оформление, а не алгоритм.
HTML и XML — это одно и то же?
Нет. Оба — языки разметки, но у HTML набор элементов фиксирован и предназначен для веб-страниц, а в XML теги придумывает автор формата, и разбор останавливается на первой ошибке синтаксиса.
Нужно ли учить HTML, если сайты собирают в конструкторах и с помощью ИИ?
Нужно хотя бы уметь читать разметку: конструктор и генератор выдают тот же HTML, и разобраться, почему блок отображается не так, без понимания структуры документа не получится.



