HTML

Материал из Aprel Wiki
Перейти к навигации Перейти к поиску

HTML (HyperText Markup Language) — язык разметки, повсеместно применяемый нынче в Интернете. Вместе с языком описания стилей CSS и скриптовой машинерией JavaScript стал фактически опорой нынешней сети. Именно в формате HTML прогружается большая часть материалов сети (все страницы с какой-либо разметкой, хотя иногда встречаются и материалы в формате plain text, ограниченные только текстовыми материалами). Изначально был разработан как язык разметки научной документации, но вошёл в массовое употребление в Интернете.

История

Стандарт разрабатывается организацией W3C, преобразовывается в визуальный вид любых интернет-браузером. С распространением Интернета больше всего применялась версия HTML4, в 2014 был формализован стандарт HTML5, ставший ныне наиболее распространенным. Эта версия получила множество новых возможностей: рисование 2D-изображений, сохранение информации в браузере, API для изображений и видео, перетаскивание файлов на страницу. За счет новых технологий стало возможно создание браузерных игр и приложений на основе HTML5, без использования устаревшей небезопасной технологии Flash.

Уже самые первые версии HTML стали революцией за счет возможности использования гипертекста: возможности проставлять ссылки на другие страницы, что обеспечивало высокую связность сети и стало одной из самых известных особенностей Интернета — за счёт гиперссылок стало возможно моментально перейти на нужный материал, что делало массив информации не монолитным.

Первые спецификации HTML весьма сильно зависели от конкретной платформы, так что для нормального отображения сайта требовалось использовать хаки (в частности, отличалось отображение в разных браузерах). Со временем была достигнута довольно неплохая стандартизация, но стало практиковаться создание полностью отдельных версий для обычных ПК и смартфонов из-за сильного различия этих платформ.

Файлы HTML сохраняются с расширением .html или .htm, но подобно www, в большинстве современных сайтов окончание не используется и страница имеет более простой человекочитаемый адрес, который легко запомнить и воспроизвести.

Характерная структура HTML-файла:

  • Вначале идет классическое указание на то, что файл это HTML, чтобы без расширения браузер правильно отображал страницу: <!DOCTYPE html> и <html class="client-nojs" lang="ru" dir="ltr">.
  • Внутри блока <head> указываются системные данные — название страницы, адрес favicon, кодировка (хотя абсолютно все сейчас применяют UTF-8), подгружаются CSS и JS-файлы (однако бывает и так, что эти файлы включаются в конец страницы). Название страницы является одним из самых важных показателей для поисковой оптимизации.
  • В блоке <body> находится непосредственный контент страницы.

Вначале HTML предполагался к использованию сам по себе, и имел значительное количество впоследствии признанных устаревшими тегов разметки, вроде font (который задавал формат конкретного текста). Впоследствии был сделан уклон в большую структурность языка, распространилась блоковая разметка с использованием <div>, разделения на абзацы. Конкретное же оформление, ранее писавшееся непосредственно в тексте, было перенесено в CSS. В современном HTML элементы имеют только идентификаторы и классы, а вся информация о внешнем виде связывается с ними в CSS-файле.

Помимо тегов, также в HTML имеются так называемые мнемоники, позволяющие разместить специальные символы. Они вставляются с использованием кода &мнемоника;. По мере распространения кодировки UTF-8, позволяющей вставлять их без всяких кодов, непосредственно в текст, с использованием кодов стали размещать только неоднозначные символы, способные вызвать проблемы, размещённые без экранирования: &, >, <, ". Очень большую популярность в качестве полноценного мема получила мнемоника   (неразрывный пробел), которую усиленно форсил Мицгол, но которая делала тексты слаборедактируемыми.

Надстройки

Хотя HTML и воссиял как главный стандарт Интернета, недостатком является то, что для простого человек написание документов в формате HTML довольно сложно и требует затрат времени, кроме того есть и проблемы с безопасностью (можно подключить скрипты с внешних сайтов). В связи с этим были реализованы некоторые надстройки над HTML, призванные ускорить процесс создания готовых веб-страниц, а для конечного пользователя применяется фильтрация вводимых данных, чтобы предотвратить возможные проблемы с безопасностью:

  • Шаблоны — подстановка определенных вводных данных в уже готовые HTML-формы, от человека требуется предоставить только информацию, разметка генерируется автоматически,
  • Форумная разметка типа BB-кода, где позволено использовать только некоторые опции языка, не позволяющие взломать сайт и поставить под угрозу пользователей,
  • Вики-разметка — упрощенная разметка для быстрого редактирования страниц на технологии вики, преобразует специальную разметку в HTML за счет движка.

Математики и иные ученые применяют также язык разметки TeX, более приспособленный под добавление разного рода формул и сложных конструкций.

Интересные факты

  • HTML не может быть нормально обработан с использованием регулярных выражений из-за того, что является контекстно-свободным. Возможна обработка исключительно определённых документов с заранее известной структурой, при этом при отклонении от заданной структуры могут возникнуть ошибки (всегда есть возможность создать HTML-код, который будет неверно обработан произвольным регулярным выражением).