HTML5 — это последняя версия HTML с новыми элементами (semantic elements जैसे <article>, <section>), поддержкой мультимедиа (<video>, <audio>), API для работы с геолокацией, веб-хранилищем и оффлайн-приложениями. Он более гибок к ошибкам синтаксиса и обратно совместим.
HTML4.01 — предыдущий стандарт с менее строгими правилами синтаксиса по сравнению с XHTML. Не поддерживает новые возможности HTML5 из коробки.
XHTML 1.0 — это HTML, переписанный как приложение XML. Требует строгого соблюдения синтаксиса (например, закрытие всех тегов, использование строчных букв для имен элементов и атрибутов, обязательное использование кавычек для значений атрибутов). Был разработан для большей расширяемости и совместимости с инструментами обработки XML.
Основные отличия можно сгруппировать так:
<!DOCTYPE html>. В HTML4.01 и XHTML 1.0 они более длинные и указывают на используемую DTD (Definition Type Document).Пример DOCTYPE:
html
html
xml
Таблица сравнения:
| Feature | HTML5 | HTML4.01 | XHTML 1.0 |
|---|---|---|---|
| Синтаксис | Гибкий | Умеренно строгий | Строгий (XML-based) |
| DOCTYPE | <!DOCTYPE html> | Длинный (указывает DTD) | Длинный (указывает DTD) |
| Семантика | Новые семантические теги | Меньше семантики | Меньше семантики (по сравнению с HTML5) |
| Мультимедиа | Встроенная поддержка (<video>, <audio>) | Требует плагинов | Требует плагинов |
| API | Множество новых API | Ограничено | Ограничено |
| Обработка ошибок | Определена и предсказуема | Менее предсказуема | Требует строгого соблюдения синтаксиса |
| XML-совместимость | Не требует | Не требует | Совместим |