Sobes.tech
Junior
114
questionbank

В чем заключаются отличия между HTML5 и HTML4.01, а также XHTML 1.0?

Ответ от нейросети

sobes.tech AI

HTML5 расширяет возможности HTML4.01 семантическими тегами (<nav>, <article>, <aside>), новыми типами ввода для форм (email, date, range), поддержкой мультимедиа без плагинов (<video>, <audio>), API для офлайн-работы (Service Worker, Cache Storage) и локального хранилища (localStorage, sessionStorage), а также API для веб-сокетов. Синтаксис HTML5 более гибкий, разрешает опускать некоторые закрывающие теги и атрибуты в определенных случаях.

XHTML 1.0 является переформулировкой HTML 4.01 как приложения XML. Основное отличие — более строгий синтаксис: все теги должны быть закрыты (в том числе самозакрывающиеся вроде <br />), все атрибуты должны быть в кавычках, названия тегов и атрибутов чувствительны к регистру. Целью было создание более структурированного и валидного синтаксиса для лучшей совместимости с XML-парсерами. Однако на практике большинство браузеров обрабатывали XHTML как HTML, игнорируя строгие правила, если документ не отправлялся с MIME-типом application/xhtml+xml.

Сравнение в таблице:

Характеристика HTML4.01 XHTML 1.0 HTML5
Синтаксис Более гибкий Строгий (XML-основанный) Гибче, чем XHTML, но структурированный
Закрытие тегов Не всегда требуется Всегда требуется (<br />, <img>) Не всегда требуется (<p>, <li> и др.)
Регистр Нечувствителен Чувствителен Нечувствителен
Кавычки атрибутов Не всегда требуются Всегда требуются Не всегда требуются в определенных случаях
Поддержка медиа Требует плагины Требует плагины Нативная (<video>, <audio>)
Семантические теги Меньше (<div>, <span>) Аналогично HTML4.01 Больше (<nav>, <article>, <aside>)
Новые API Ограниченные Ограниченные WebSocket, Local Storage, Canvas, SVG
Офлайн-поддержка Практически отсутствует Практически отсутствует Cache API, Service Worker
MIME-тип text/html application/xhtml+xml (строго), text/html (как HTML) text/html
Расширяемость Ограниченная На основе XML Через API и кастомные элементы (в будущем)

Пример синтаксиса:

<!-- HTML 4.01 -->
<p>Параграф.
<img src="image.jpg" alt=Изображение>
<!-- XHTML 1.0 -->
<p>Параграф.</p>
<img src="image.jpg" alt="Изображение" />
<!-- HTML5 -->
<p>Параграф.
<img src="image.jpg" alt="Изображение">

HTML5 стал де-факто стандартом для веб-разработки, сочетая гибкость HTML4.01 с новыми возможностями и частично унаследовав идеи строгости от XHTML, ориентируясь при этом на совместимость.