Что такое язык разметки HTML. Язык разметки HTML

Для Symbian 16.06.2019
Для Symbian

Лекция 2. Основы HTML . Возможности HTML 5.

1. История развития языка html

В 1989 году Тим Бернерс-Ли предложил руководству международного центра высоких энергий (CERN) проект распределенной гипертекстовой системы, которую он назвал World Wide Web (WWW), Всемирная паутина. Первоначально идея системы состояла в том, чтобы при помощи гипертекстовой навигационной системы объединить все множество информационных ресурсов CERN в единую информационную систему.

Одним из компонентов технологии создания распределенной гипертекстовой системы World Wide Web стал язык гипертекстовой разметки HTML (HyperText Markup Language – язык гипертекстовой разметки документов), разработанный Тимом Бернерсом-Ли на основе стандарта языка разметки печатных документов - SGML (Standard Generalised Markup Language, стандартный обобщенный язык разметки). Дэниел В. Конноли написал для него Document Type Definition - формальное описание синтаксиса HTML в терминах SGML.

Разработчики HTML смогли решить две задачи:

    предоставить дизайнерам гипертекстовых баз данных простое средство создания документов;

    сделать это средство достаточно мощным, чтобы отразить имевшиеся на тот момент представления об интерфейсе пользователя гипертекстовых баз данных.

Первая задача была решена за счет выбора теговой модели описания документа. Такая модель широко применяется в системах подготовки документов для печати.

Язык НТМL позволяет размечать электронный документ, который отображается на экране с полиграфическим уровнем оформления; результирующий документ может содержать самые разнообразные метки, иллюстрации, аудио- и видеофрагменты и так далее. В состав языка вошли развитые средства для создания различных уровней заголовков, шрифтовых выделений, различные списки, таблицы и многое другое.

Вторым важным моментом, повлиявшим на судьбу HTML, стало то, что в качестве основы был выбран обычный текстовый файл.

Таким образом, гипертекстовая база данных в концепции WWW - это набор текстовых файлов, размеченных на языке HTML, который определяет форму представления информации (разметка) и структуру связей между этими файлами и другими информационными ресурсами (гипертекстовые ссылки). Гипертекстовые ссылки, устанавливающие связи между текстовыми документами, постепенно стали объединять самые различные информационные ресурсы, в том числе звук и видео; в результате возникло новое понятие - гипермедиа.

Такой подход предполагает наличие еще одного компонента технологии - интерпретатора языка. В World Wide Web функции интерпретатора разделены между Web-сервером гипертекстовой базы данных и интерфейсом пользователя. Сервер, кроме доступа к документам и обработки гипертекстовых ссылок, обеспечивает предпроцессорную обработку документов, в то время как интерфейс пользователя осуществляет интерпретацию конструкций языка, связанных с представлением информации.

Версии

HTML 4.01 (изменения, причём более значительные, чем кажется на первый взгляд) - 24 декабря1999 года;

ISO/IEC 15445:2000 (так называемый ISO HTML, основан на HTML 4.01 Strict) - 15 мая2000 года.

HTML 5- в разработке. Конец разработки запланирован на 2014 год.

Официальной спецификации HTML 1.0 не существует. До 1995 года существовало множество неофициальных стандартов HTML. Чтобы стандартная версия отличалась от них, ей сразу присвоили второй номер.

Версия 3 была предложена Консорциумом всемирной паутины(W3C) в марте 1995 года и обеспечивала много новых возможностей, таких как создание таблиц, «обтекание» изображений текстом и отображение сложныхматематических формул, поддержка gif формата. Даже при том, что этот стандарт был совместим со второй версией, реализация его была сложна для браузеров того времени. Версия 3.1 официально никогда не предлагалась, и следующей версией стандарта HTML стала 3.2, в которой были опущены многие нововведения версии 3.0, но добавлены нестандартные элементы, поддерживаемые браузерамиNetscape NavigatorиMosaic.

В версии HTML 4.0 произошла некоторая «очистка» стандарта. Многие элементы были отмечены как устаревшие и нерекомендованные (англ.deprecated ). В частности, элемент font, используемый для изменения свойств шрифта, был помечен как устаревший (вместо него рекомендуется использовать таблицы стилейCSS).

В 1998 годуконсорциум Всемирной паутиныначал работу над новым языком разметки, основанном на HTML 4, но соответствующим синтаксису XML. Впоследствии новый язык получил названиеXHTML. Первая версия XHTML 1.0 одобрена в качестве Рекомендации консорциума Всемирной паутины26 января2000 года.

Планируемая версия XHTML 2.0 должна была разорвать совместимость со старыми версиями HTML и XHTML, но 2 июля 2009 годаконсорциум Всемирной паутиныобъявил, что полномочия рабочей группы XHTML2 истекают в конце2009 года. Таким образом, была приостановлена вся дальнейшая разработка стандарта XHTML 2.0.

В настоящее время Консорциум всемирной паутины разрабатывает HTML версии 5. Черновой вариант спецификации языка появился в Интернете 20 ноября 2007 года.

С появлением компьютерных сетей и тем более «всемирной паутины», появилась необходимость передачи информации для разных платформ. Ведь необходимо, чтобы все элементы документа на всех компьютерах, не зависимо от используемой системы, отображались одинаково. Для этого используется специальный язык – HTML. Впервые применение этого языка описания страниц было применено для отображения научной информации в Европейском центре ядерных исследования (Женева), и применялся для возможности отображения информации для всех компьютеров локальной сети. Сегодня HTML служит неотъемлемой частью большинства программ, и прежде всего – для отображения интернет страниц. Фактически любой пользователь глобальной сети посещая любой сайт использует HTML. Вся информация, которую пользователь может лицезреть в окне браузера описывается через HTML, а сами браузеры представляют собой специализированные программы для работы с HTML языком.

Что такое HTML ?

В полной мере назвать HTML языком программирования нельзя, хотя многие функции позволяют сделать простые приложения непосредственно в коде. Для описания свойств элементов используются дескрипторы (теги), с помощью которых прописывается размер, положение и специальные свойства элементов, а также ссылки на другие элементы самого текста или другие документы. Весь комплекс кода носит название гипертекста, а аббревиатура HTML расшифровывается как HyperText Markup Language , что в переводе на «великий и могучий» означает «язык гипертекстовой разметки».

Особое развитие HTML получил вместе с развитием WWW (World Wide Web), поскольку разрабатывался как универсальный язык для всех устройств, независимо от имеющегося на них оборудования. Использование языка дает возможность структурного отображения информации и упрощает ее восприятие. Если сравнивать с печатной продукцией, то это будет соответствовать колонкам и полосам газеты. Заголовки, положение картинок, таблицы – это все необходимо для структурной подачи, поскольку сплошной массив текста читать весьма затруднительно.

Первые версии HTML были разрознены и не имели определенного единства. В результате пришлось выработать определенный единый стандарт. Это было сделано в 1995 году, и стандарт оформлен был в виде официальной версии HTML 2.0. Через 2 года (в 1997) к нему были добавлены некоторые возможности. Новый формат получил название HTML 3.0, и предложен был W3C (World Wide Web Consortium) . Теоретически он включал в себя все функции 2.0, но в те времена возможности браузеров были весьма ограничены, поэтому полной совместимости не получилось. К концу 1997 года после апробирования версии языка 3.2, был принят новый стандарт 4.0. В нем старые дескрипторы были упразднены, и появились новые, в частности, использование каскадных таблиц стилей (CSS ).

Базовая структура документов

Большая часть современных программ для верстки страниц, такие как Dreamweaver и Microsoft SharePoint Designer , автоматически создают базовую структуру документов, но для того, чтобы правильно читать и создавать ее самостоятельно, необходимо познакомиться с простыми правилами.

Разметка документа проводится с помощью тегов, как правило – парных (открывающий и закрывающий). Теги заключены в угловые скобки и не показываются пользователю, но при этом строго удерживают разметку страниц.

Документ HTML начинается и заканчивается тегами формата документа.

Тут код страницы

Перед тегом документа может указываться стандарт, с использованием которого будет отображаться содержимое (тег DOCTYPE ).

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

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

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

Структуру HTML документа можно представить следующим образом.

< title> Заголовок страницы (отражается в окне!)

Заголовок документа. Не отображается на экране

Тело документа. Отображается на экране

На протяжении ряда последних лет постоянно совершенствуются технические возможности вычислительной техники, развиваются коммуникационные средства и технологии управления информационными ресурсами, все это приводит к тому, что активно появляются более крупные информационные системы. Имеются в виду масштабы систем не только в отношении объемов поддерживаемых информационных ресурсов, но и в отношении количества их пользователей. Так в настоящее время объемы информационных ресурсов Web определяются многомиллионными количествами страниц.

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

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

Сеть Internet стала популярной с появления WorldWideWeb (WWW), поскольку эта сетевая технология первой предоставила пользователям достаточно простой и в то же время современный интерфейс доступа к различным сетевым ресурсам. Простое и удобное использование привело к увеличению количества пользователей WWW, а также к привлечению внимания коммерческих структур. В дальнейшем число пользователей стало расти лавинообразно, так продолжается и по сей день. В связи с этим появилась необходимость объединения всего множества информационных ресурсов, ее решением стало развитие технологии определения гипертекстовой навигационной системы. Эта технология была представлена языком HTML. Поскольку технология HTML на ранних этапах была очень простой, все пользователи сети одновременно смогли создавать и читать информационные материалы, опубликованные во Всемирной паутине. Это произошло потому, что разрабатывая различные компоненты технологии предположили квалификацию авторов информационных ресурсов, их оснащенность средствами вычислительной техники минимальными.

Определение 1

Язык HTML (HyperTextMarkupLanguage, язык разметки гипертекста) является языком разметки текста. Под разметкой понимают общую служебную информацию, не выводящуюся с документом, но определяющую внешний вид тех или иных фрагментов документа.

Например, выделение слова жирным шрифтом или курсивом, вывод отдельного абзаца особым шрифтом или оформление заголовка крупным шрифтом.

Стандарт SGML

Это язык разметки создавался и был разрекламирован как один из вариантов SGML. Впервые в 1974 году Чарльз Голдфарб предложил, а в дальнейшем значительно доработав его приняли официальным стандартом ISO, SGML (StandardGeneralizedMarkupLanguage, Стандартный обобщенный язык разметки), представляющий собой метаязык, т.е. систему описания других языков.

Стандарт SGML появился, так как возникла необходимость совместно использовать данные разными приложениями и операционными системами. Проблема с совместимостью возникла у пользователей очень давно, еще на заре появления вычислительной техники. Ученые из IBM - Чарльз Гольдфарб, Эд Мо-шер и Рэй Лори – проанализировали многие нестандартные языки разметки на предмет недостатков и сформулировали общие принципы, обеспечивающие совместную работу с документами в разных операционных системах. Ниже приведены эти принципы:

  • Необходимо использовать единые принципы форматирования во всех программах, обрабатывающих документы. Действительно все знают, насколько не легко договориться между собой собеседникам, общающимся на разных языках. Единый набор синтаксических конструкций и общая семантика заметно упрощают взаимодействие между программами.
  • Важен процесс специализации языков форматирования. Возможность использования наборов стандартных правил в построении специализированного языка не дает программисту зависеть от внешних реализаций и их представлений о потребностях конечных пользователей.
  • Формат документа должен четко определяться. Для этого применяют правила, задающие количество и маркировку используемых в документе языковых конструкций. В связи с применением стандартного формата пользователю всегда будет известна структура содержимого документа. Имеется в виду именно структурный формат. Набор правил, которые описывают этот формат, называют определением типа документа.
  • Замечание 1

    Вышеназванные правила составляют основу предшественника SGML - GML (Generalized Markup Language), который разрабатывали и исследовали около 10 лет, пока по соглашению, заключенному международной группой разработчиков, не появился стандарт SGML.

    Средства языка HTML

    Средства языка HTML обеспечивают форматную разметку документов, определяют гиперсвязи между документами (их фрагментами). За основу при написании кода HTML выбрали обычный текстовый файл. Можно сказать, что гипертекстовая база данных в концепции WWW представляет собой набор текстовых файлов, в которых разметка выполнена на языке HTML, определяющем форму представления информации (разметку) и структуру связей между файлами и информационными ресурсами (гипертекстовые ссылки). Разработчиками HTML были решены задачи:

    • предоставления дизайнерам гипертекстовых баз данных простого средства для создания документов;
    • создания мощного средства для отражения имевшихся в то время представлений об интерфейсе пользователя гипертекстовых баз данных.

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

    Другим важным моментом стало использование за основу языка обычного текстового файла. Среда редактирования HTML является нейтральной полосой между простейшим текстовым файлом и приложением WYSIWYG (whatyouseeiswhatyouget – что вы видите, то и получаете). Выбор среды редактирования предоставляет все преимущества текстового редактирования.

    Гипертекстовые ссылки, которые использовались для связи текстовых документов между собой, постепенно стали применять для объединения различных информационных ресурсов, в том числе звука и видео. С помощью системы гиперссылок HTML можно построить систему взаимосвязанных по разным критериям документов. В состав языка HTML входят команды (тэги), которые позволяют управлять формой и размером шрифтов, размером и расположением иллюстраций, а также осуществляют переход от фрагмента текста или иллюстрации к другому html-документу (гипертекстовые ссылки). Документ, представленный в html-форматом – это текстовый файл со всеми необходимыми сведениями о выводимой на экран информации. Управлять сценариями просмотра страниц Website (гипертекстовой базы данных, выполненной в технологии World Wide Web) можно с помощью языков программирования этих сценариев (JavaScript, Java и VBScript). Для обработки форм ввода данных пользователя и другой информации можно использовать специальные серверные программы (например, на языках PHP или Perl). Используя язык HTML, можно размещать на страницах гипертекстовые ссылки и интерактивные кнопки, соединяющие Web-страницы с другими страницами сайта и с другими сайтами. До сих пор не существует настолько удобных редакторов HTML, чтобы пользователь мог бы обойтись без текстового редактора и ручной расстановки тэгов, что гораздо усложняет работу с языком, делает необходимым овладение несвойственных ему функций.

    Замечание 2

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

    Динамический и статический HTML-документы

    Html-документы бывают двух видов: статические и динамические. Статические документы хранят файлы файловой системы, используемой web-сервером или браузером при просмотре локальных файлов. Размещая информацию на web-сервере, используют динамические документы, не существующие постоянно в виде файлов, а генерирующиеся в момент запроса клиента. При чем для конечного пользователя не имеет значения каким способом представлены документы.

    Генерирование динамических документов HTML происходит с помощью специально написанной программы по правилам web-сервера. При планировании размещения информации на сервере, для правильного определения видов документов, учитывают степень обновления данных, их объем и частоту обращений к ним. При динамическом способе подразумевается хранение данных в формализованном виде, например в базе данных. При хранении данных в формализованном виде используются шаблоны документов с произведенными в них изменениями, генерируются статические документы путем использования любых средств отчетов, имеющихся в той системе управления баз данных (СУБД), которой последние обработаны и формализованы.

    Перспективы HTML

    Новые версии языка HTML не предполагаются, не смотря на это существует дальнейшее развитие HTML под названием XHTML (англ. Extensible Hypertext Markup Language - расширяемый язык разметки гипертекста). Пока возможности XHTML сопоставимы с HTML, но предъявляются более строгие требования к синтаксису. Язык XHTML является подмножеством языка SGML, однако в отличие от HTML, соответствует спецификации XML. Вариант XHTML 1.0 был одобрен в качестве Рекомендации Консорциума Всемирной паутины (W3C) 26 января 2000 года. Нужно отметить, что в этом формате создано большое количество информационных ресурсов, которые долго еще будут пониматься web-браузерами и использоваться в своем первозданном виде. Кроме того, все новые форматы будут разрабатываться (и уже разрабатываются – например XML) с поддержкой технологий HTML.

    Стили работы меняются, меняются и средства доступа к содержимому. Язык HTML уже изначально создавался как платформо - независимый язык. Новые технологии используются повсеместно и довольно скоро пространство WWW перестанут применять лишь пользователи настольных персональных компьютеров, уже сейчас некоторыми пользователями активно применяются голосовые браузеры для незрячих или браузеры, использующие азбуку Бройля, зачастую содержимое выводится не на монитор компьютера, а на экран телевизора, где применяются приставки с выходом в сеть, на телетайп или на монохромные дисплеи различных организаторов-пейджеров и пр.

    Надеемся, что данная статья Вам будет полезна. Приятного прочтения!

    Краткая предыстория

    Давным давно, практически на заре цивилизации (до 70-х годов XX века), не было интернета. Вообще не было.

    С появлением компьютеров появилось желание и потребность как-то их объединить, и 4 крупных университета США взялись за эту задачу. Примерно 7 лет прошло от создания концепции до исторического момента:

    29 октября 1969 года был проведен сеанс связи между двумя первыми узлами сети ARPANET, на расстоянии в 640 км: в Калифорнийском университете и в Стэнфордском исследовательском институте. Ученый из Лос-Анджелеса подключился удаленно к компьютеру в Стэнфорде. Стэнфордский коллега видел, как появляются на экране символы, введенные на расстоянии, и подтверждал по телефону передачу каждой буковки. Таким образом началась эпоха компьютерных сетей.

    Долгое время Интернет был предназначен только для специалистов и служил в основном для обмена технической документации и имейлами. Простому пользователю делать там было нечего. И только в начале 90-х прошлого века произошла революция "интернет-народу!" 🙂

    1991 год

    Британец Тимоти Джон Бернерс-Ли в Женевском ЦЕРНе изобрел язык гипертекстовой разметки , он же HyperText Markup Language , он же HTML , предназначенный для разметки и оформления документов World Wide Web.

    Ах да! Еще Сэр Тим разработал глобальный гипертекстовый проект (сейчас Вы его знаете как Всемирную паутину ). Собственно, HTML и родился в процессе работы над этим проектом.

    Язык HTML

    Полагаю, все веб-разработчики с полным правом могут считать именно 6 августа своим профессиональным праздником 🙂

    Как вам понравилась первая веб-страница? 🙂 Думаю, большинству из вас не захотелось её читать и уж тем более оставаться там надолго. Создатели тоже понимали, что это только начало, и пошло поехало:

    Июнь 1993 - HTML 1.2

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

    1994 год - основание W3C

    Сэр Тим Бернерс-Ли основал Консорциум Всемирной Паутины (World Wide Web Consortium, W3C ) . Миссией W3C было и остается

    Полностью раскрыть потенциал Всемирной паутины, путём создания протоколов и принципов, гарантирующих долгосрочное развитие Сети

    Огромная заслуга этих ребят принадлежит в том, что HTML был выпущен с единым базовым набором тегов и атрибутов и веб-страницы стали такими, какими мы их знаем сейчас. Только представьте, в середины девяностых, несколько крупнейших производителей ПО планировали выпустить свои версии HTML со своими названиями тегов. Какая каша была бы сейчас в сфере веб-разработки! Например объявления о работе: «Ищем верстальщика для создания сайтов в Mozilla Firefox », «Срочно требуется верстальщик для Edge », «Нужен верстальщик для Kindle »… словом, спасибо W3C 🙂

    22 сентября 1995 – Версия 2.0

    Процесс разработки и утверждения новой версии был очень неспешным, а единственным заметным улучшением новой версии стали:

    • Запросы: например поиск по ключевым словам.
    • Формы для передачи данных с компьютера на сервер: например ввести дату рождения или выбрать один из нескольких вариантов в опроснике.
    Март 1995 – начало работы над HTML 3.0

    Первый вариант стандарта включал в себя много интересностей:

    • теги для создания таблиц,
    • разметки математических формул,
    • обтекание изображений текстом и др.

    При создании HTML 3.0 разработчики ломали голову, как решить нестыковку между идеологией структурной разметки и потребностями пользователей, которых гораздо больше интересовал внешний вид веб-страницы.

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

    17 декабря 1996 – CSS

    CSS (Cascading Style Sheets ) , а по-русски – иерархические стилевые спецификации. Думаю, понятней не стало?)) Если совсем уж по-русски, то это таблицы стилей, которые присоединяются к документу HTML и служат для визуального оформления тех или иных частей документа.

    Итак, система CSS:

    • формально не зависит от HTML,
    • у неё свой, отличный от HTML, синтаксис,
    • На неё не влияют идеологические ограничения HTML,
    • Она позволяет задавать параметры внешнего представления для любого тега HTML.

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

    Чтобы наглядно продемонстрировать чудеса, на которые способен CSS, канадец Дейв Ши создал сад CSS дзена – место, где сотни веб-разработчиков медитируют верстая одну и ту же HTML-страницу с абсолютно разными стилями CSS

    Влияние Microsoft

    А тем временем, в далекой-далекой галактике… Microsoft заметил стремительный взлет компании Netscape на продаже браузеров Navigator и конечно же, не мог стоять в стороне. В MS слегка переработали браузер Mosaic и начали выпускать свои эксплореры, которые поначалу не очень полюбились пользователям (да и не только поначалу;)).

    В августе 1996 была создана версия Internet Explorer 3.0 Браузер предлагал значительные нововведения на то время и обрел популярность, что поделило рынок браузеров пополам между Netscape Communications и Microsoft.

    И в это же время Microsoft взял под свою опеку W3C.

    14 января 1997 – HTML 3.2

    Версия 3.2 вышла спустя месяц после утверждения CSS, и была уже полностью приспособлена к взаимодействию с таблицами стилей.

    В ней были опущены многие нововведения версии 3.0, но добавлены нестандартные элементы, поддерживаемые браузерами Netscape Navigator и Internet Explorer 3.

    18 декабря 1997 – HTML 4.0

    В этой версии изрядно подчистили элементы из предыдущих версий. Многие теги были отмечены как устаревшие и не рекомендованные к использованию. Вместо них нужно было использовать таблицы стилей CSS.

    Новая версия включала поддержку фреймов, скриптов, общую процедуру внедрения разных объектов. Также в ней были усовершенствованы таблицы и формы, что кроме прочих плюсов обеспечивало бо льшую доступность для людей с физическими недостатками.

    Версия HTML 4 была разработана с помощью экспертов в области интернационализации, таким образом стало возможно писать документы на любом языке и легко передавать их по всему миру.

    24 декабря 1999 – HTML 4.01

    В этой версии слегка подправили объекты, формы и изображения, пофиксили баги и в целом создали более стабильную версию, которой пользовались веб-разработчики более 10 лет .

    Рабочая группа WHAT

    2004 год : Швейцарский программист Ян Хиксон (на тот момент разработчик в Opera) и несколько представителей таких компаний как Mozilla, Google и Apple, основал рабочую группу под названием WHATWG (Web Hypertext Application Technology Working Group ).

    Поводом для создания подобного сообщества стал тот факт, что W3C на тот момент потерял интерес к HTML и занялся развитием XML , а на его основе - расширяемого языка гипертекстовой разметки XHTML . Не будем углубляться в детали, т.к. на данный момент этот язык перестал развиваться.

    Два года W3C и WHAT Working Group работали каждый над своим проектом. Но позже стало видно, что WHAT Working Group достигает каких-то результатов, тогда как XHTML 2 так и не реализовался.

    И в 2006 году Тим Бернерс-Ли объявил, что W3C и WHATWG будут вместе работать над дальнейшим развитием HTML.

    28 октября 2014 – HTML 5
    • Новая версия сделала синтаксис более строгим по сравнению с предыдущей
    • Улучшилась поддержка мультимедиа-технологий
    • Появились 28 новых структурных элементов, благодаря которым код стал более понятным
    • Исключена еще часть устаревших тегов
    • Стало больше внимания уделяться поддержке скриптов, например javascript

    На данный момент развитие HTML продолжается…

    W3C выложил в начале июня рабочий черновик версии 5.1 . Консорциум просит всех писать свои отзывы и комментарии относительно этой версии, т.к. HTML остается как и раньше проектом, над которым работают одновременно множество неравнодушных людей, любящих угловые скобки.

    Может, скоро и вы станете одним из них?

    И напоследок, минутка юмора:

    Оптимист учит английский, Пессимист - китайский, а реалист учит html.

    Будьте реалистами 😉

    Основы HTML содержат основные правила языка HTML, описание структуры HTML-страницы, отношения в структуре HTML-документа между HTML-элементами.

    HTML-документ - это обычный текстовый документ, может быть создан как в обычном текстовом редакторе (Блокнот) , так и в специализированном, с подсветкой кода (Notepad++, Visual Studio Code и т.п.) . HTML-документ имеет расширение.html .

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

    Начальный тег показывает, где начинается элемент, конечный - где заканчивается. Закрывающий тег образуется путем добавления слэша / перед именем тега: … . Между начальным и закрывающим тегами находится содержимое тега - контент.

    Одиночные теги не могут хранить в себе содержимого напрямую, оно прописывается как значение атрибута, например, тег создаст кнопку с текстом Кнопка внутри.

    Теги могут вкладываться друг в друга, например,

    Текст

    . При вложении следует соблюдать порядок их закрытия (принцип «матрёшки») , например, следующая запись будет неверной:

    Текст

    .

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

    Каждому элементу можно присвоить несколько значений class и только одно значение id . Множественные значения class записываются через пробел, . Значения class и id должны состоять только из букв, цифр, дефисов и нижних подчеркиваний и должны начинаться только с букв или цифр.

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

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

    HTML-документ состоит из двух разделов - заголовка — между тегами … и содержательной части — между тегами … .

    Структура веб-страницы 1. Структура HTML-документа

    Язык HTML следует правилам, которые содержатся в файле объявления типа документа (Document Type Definition, или DTD) . DTD представляет собой XML-документ, определяющий, какие теги, атрибуты и их значения действительны для конкретного типа HTML. Для каждой версии HTML есть свой DTD.

    DOCTYPE отвечает за корректное отображение веб-страницы браузером. DOCTYPE определяет не только версию HTML (например, html), но и соответствующий DTD-файл в Интернете.

    ...

    Элементы, находящиеся внутри тега , образуют дерево документа, так называемую объектную модель документа, DOM (document object model) . При этом элемент является корневым элементом.


    Рис. 1. Простейшая структура веб-страницы

    Чтобы разобраться во взаимодействии элементов веб-страницы, необходимо рассмотреть так называемые «родственные отношения» между элементами. Отношения между множественными вложенными элементами подразделяются на родительские, дочерние и сестринские.

    Предок - элемент, который заключает в себе другие элементы. На рисунке 1 предком для всех элементов является . В то же время элемент является предком для всех содержащихся в нем тегов: ,

    , , и т.д.

    Потомок - элемент, расположенный внутри одного или более типов элементов. Например, является потомком , а элемент

    Является потомком одновременно для и .

    Родительский элемент - элемент, связанный с другими элементами более низкого уровня, и находящийся на дереве выше их. На рисунке 1 и . Тег

    Является родительским только для .

    Дочерний элемент - элемент, непосредственно подчиненный другому элементу более высокого уровня. На рисунке 1 только элементы , ,

    И являются дочерними по отношению к .

    Сестринский элемент - элемент, имеющий общий родительский элемент с рассматриваемым, так называемые элементы одного уровня. На рисунке 1 и — элементы одного уровня, так же как и элементы , и

    Являются между собой сестринскими.

    1.1. Элемент 1.2. Элемент

    Раздел ... содержит техническую информацию о странице: заголовок, описание, ключевые слова для поисковых машин, кодировку и т.д. Введенная в нем информация не отображается в окне браузера, однако содержит данные, которые указывают браузеру, как следует обрабатывать страницу.

    1.2.1. Элемент

    Обязательным тегом раздела является тег . Текст, размещенный внутри этого тега, отображается в строке заголовка веб-браузера. Длина заголовка должна быть не более 60 символов, чтобы полностью поместиться в заголовке. Текст заголовка должен содержать максимально полное описание содержимого веб-страницы.

    1.2.2. Элемент

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

    Описание содержимого страницы и ключевые слова одновременно можно указывать на нескольких языках, например, на русском и английском:

    С помощью тега можно запретить или разрешить индексацию веб-страницы поисковыми машинами:

    Для автоматической перезагрузки страницы через заданный промежуток времени нужно воспользоваться значением refresh:

    Страница будет перезагружена через 30 секунд. Чтобы перебросить посетителя на другую страницу, нужно указать URL-адрес в параметре url:

    Таблица 2. Атрибуты тега Атрибут
    charset Указывает кодировку символов для текущего HTML-документа:
    content Содержит произвольный текст, который определяет значение, ассоциируемое с атрибутом http-equiv или name , в зависимости от их значения.
    http-equiv Контролирует действия браузера на данной веб-странице (эквивалент HTTP заголовков). При отображении страницы браузер будет следовать инструкциям, заданным в атрибуте:
    default-style указывает предпочтительный стиль для использования на странице. Атрибут content должен содержать идентификатор элемента , который ссылается на таблицу стилей CSS, или идентификатор элемента , содержащего таблицу стилей.
    refresh указывает время в секундах до перезагрузки страницы или время до перенаправления на другую страницу, если в атрибуте content после указания времени идет строка "url=адрес_страницы" .
    Автоматическая перезагрузка страницы через заданный промежуток времени, в данном примере, через 30 секунд:

    Если необходимо сразу перебросить посетителя на другую страницу, то можно указать URL-адрес в параметре url:
    name Ассоциируется со значением, содержащемся в атрибуте content . Не должен использоваться в случае, если для элемента уже заданы атрибуты http-equiv , charset или itemprop .
    application-name указывает название веб-приложения, используемого на странице.
    author указывает имя автора документа в свободном формате.
    description определяет краткое описание к содержимому страницы, например:

    generator указывает один из пакетов программного обеспечения, используемого для создания документа, например:
    .
    keywords содержит список ключевых слов, разделенных запятыми, соответствующих содержимому страницы, например:
    .
    Также атрибут name может принимать следующие значения из расширенной спецификации, такие как creator , googlebot , publisher , robots , slurp , viewport , хотя ни одно из них еще не было официально принято.
    1.2.3. Элемент

    Внутри этого элемента задаются стили, которые используются на странице. Для задания стилей в HTML-документе используется язык CSS. Таких элементов на странице может быть несколько.

    Внутрь этого элемента можно записывать код форматирования как самих элементов веб-страницы, так и веб-страницы целиком.

    .paper { width: 200px; height: 300px; background-color: #ef4444; color: #666666; }

    Чтобы подключить к элементу заданный стиль, необходимо через атрибут class (или id) присвоить элементу соответствующее название:

    ...

    CSS-код можно встраивать непосредственно в элемент разметки в виде значение атрибута style , например:

    1.2.4. Элемент

    Задать стили для документа можно также при помощи другого способа - записать их в отдельный файл с расширением.css , например, style.css .

    Подключить файл со стилями к веб-странице можно двумя способами:
    через директиву @import url

    @import url(style.css);

    с использованием элемента . Элемент не требует закрывающего тега. Данный элемент определяет отношение между текущей страницей и другими документами. Таких элементов на странице может быть несколько. Запись будет иметь следующий вид:

    Таблица 4. Атрибуты тега Атрибут Описание, принимаемое значение
    crossorigin Указывает, должен ли использоваться CORS (технология браузеров, которая позволяет предоставить веб-странице доступ к ресурсам другого домена) при извлечении изображения с сайта.
    anonymous — в кросс-доменный запрос браузер автоматически добавляет заголовок Origin, содержащий имя домена, с которого осуществлён запрос. Если сервер не ответит CORS-заголовком Access-Control-Allow-Origin: * (или имя домена вместо звёздочки), то загрузка изображения будет заблокирована.
    use-credentials — если сервер не предоставляет учётные данные с помощью Access-Control-Allow-Credentials: true , то загрузка изображения будет заблокирована.
    href Основной атрибут тега, в качестве значения выступает путь к файлу со стилями.
    hreflang Определяет язык текста в документе, на который идет ссылка.
    media Определяет тип устройства, к которым должен быть применен ресурс ссылки.
    nonce Генерируемая случайным образом на сервере строковая переменная, которая устанавливает правила использования встроенных стилей с целью защиты контента. Значение атрибута — строка текста.
    rel Атрибут определяет отношения между текущим документом и документом, на который идет ссылка.
    alternate — ссылка на тот же документ, но в другом формате (например, страницы для печати, перевод, зеркало, лента в формате RSS или Atom),
    .


    archives — указывает на то, что документ по ссылке представляет исторический интерес. Ссылка может указывать на коллекцию записей, документов и других материалов.
    author ссылка на страницу об авторе документа или на страницу с контактными данными автора.
    bookmark ссылка на ближайшего предка статьи, являющегося связующим звеном, или на раздел статьи, наиболее тесно связанных с элементом, если нет предка.
    external используется для указания того, что страница на которую ведет ссылка не являются частью данного сайта.
    first указывает ссылку, ведущую на первый документ из последовательности документов.
    help ссылка на документ со справкой.
    icon определяет путь к иконке, которая будет использована для текущего документа.
    last указывает ссылку, ведущую на последний документ в последовательности документов.
    license ссылка на сведения об авторских правах для документа.
    next указывает, что этот документ является частью серии, и что ссылка ведет на следующий документ в этой серии.

    nofollow указывает на то, что ссылка не одобрена автором страницы или что ссылка носит коммерческий характер.
    noreferrer указывает на то, что заголовок запроса клиента, содержащий url источника запроса, не должен передаваться при переходе по ссылке.
    pingback указывает адрес пингбэк-сервера, что дает возможность для блога автоматически оповещать сайты, ссылающиеся на него.
    prefetch указывает, что следует заранее кэшировать файл, на который ведет ссылка.
    prev указывает, что этот документ является частью серии, и что ссылка ведет на предыдущий документ в этой серии.

    search указывает, что ссылаемый документ содержит интерфейс поиска и связанных с ним ресурсов.
    sidebar указывает, что ссылаемый документ, если это возможно, будет показан в дополнительном контексте браузера, и некоторые браузеры при щелчке по гиперссылке открывают окно для добавления ссылки в панель закладок.
    stylesheet ссылка на внешний файл, который будет использоваться в качестве таблицы стилей для данного документа.
    tag указывает на то, что метка, на которую ведет гиперссылка, относится к данному документу.
    up указывает, что страница является частью иерархической структуры, и что гиперссылка ведет на более высокий уровень ресурса в структуре.
    sizes Указывает размер иконок для визуального отображения. Атрибут sizes используется только совместно с rel="icon" , и может принимать следующий значения:
    ширинах высота - определяет список размеров, разделенных пробелами, каждый размер должен быть в формате - ширинах высота (размеры иконки задаются в пикселях), например:
    ;
    any - иконка может масштабироваться до любого размера.
    title Определяет заголовок ссылки или название набора альтернативных таблиц стилей. Значение атрибута — текст.
    type Определяет MIME-тип документа, на который идет ссылка. В данном случае он принимает значение "text/css" .
    1.2.5. Элемент Таблица 5. Атрибуты тега Атрибут Описание, принимаемое значение
    async Атрибут указывает на то, что сценарий будет выполняться асинхронно с остальной частью страницы (сценарий начнет выполняться одновременно с загрузкой страницы).
    charset Определяет кодировку символов
    crossorigin Определяет, будет ли использоваться CORS при загрузке внешних скриптов (с использованием атрибута src).
    anonymous — перед загрузкой скрипта в кросс-доменный запрос браузер автоматически добавляет заголовок Origin, при этом не передаются параметры доступа (cookie, сертификат X.509, логин/пароль для базовой аутентификации по HTTP). Если в ответе сервера отсутствует заголовок Access-Control-Allow-Origin: имя домена, скрипт не будет загружен.
    use-credentials — перед загрузкой скрипта в кросс-доменный запрос браузер автоматически добавляет заголовок Origin с указанием параметров доступа (cookie, SSL-сертификат или пары логин/пароль). Если в ответе сервера отсутствует заголовок Access-Control-Allow-Credentials: true , скрипт не будет загружен.
    defer Интерпретация сценариев откладывается до окончания отображения документа на устройстве пользователя.
    nonce Обеспечивает безопасность, защищая от атак с внедрением межсайтового скриптинга (XSS, cross site scripting). Устанавливает правила использования встроенных скриптов с помощью nonce-значений и хэшей. Во время рендеринга страницы браузер для каждого инлайн-скрипта вычисляет хэши и сравнивает с перечисленными в CSP. Загрузка с ресурсов, не входящих в «белый список», блокируется.
    src Указывает на месторасположение файла со сценарием, значение атрибута - это url файла, содержащего JavaScript-программу.
    type Используются для объявления языка сценария, использованного при составлении содержимого тега.
    1.3. Элемент

    В этом разделе располагается все содержимое документа. Для элемента доступны .

    Таблица 5. Атрибуты тега Атрибут Описание, принимаемое значение
    onafterprint Событие, срабатывающее после отправки страницы на печать или после закрытия окна печати.
    onbeforeprint Событие, срабатывающее перед отправкой страницы на печать.
    onbeforeunload Событие срабатывает, когда посетитель инициировал переход на другую страницу или нажал «закрыть окно». Позволяет отображать сообщение в диалоговом окне подтверждения, чтобы сообщить пользователю, хочет ли он остаться или покинуть текущую страницу.
    onhashchange Событие срабатывает, когда меняется hash-часть URL, например, когда пользователь перейдет с адреса example.domain/test.aspx#page1 на example.domain/test.aspx#page2 .
    onmessage Событие происходит, когда сообщение получено через источник события.
    onoffline Событие вызывается браузером в том случае, когда браузер определит, что соединение с интернет пропало.
    ononline Событие вызывается браузером в том случае, когда соединение с интернет возобновилось.
    onpagehide Событие происходит, когда пользователь покидает страницу посредством навигации, например, нажав на ссылку, обновив страницу, заполнив форму и т.д.
    onpageshow Событие происходит, когда пользователь переходит на веб-страницу, после события onload.
    onunload Событие срабатывает если страница не загрузилась по каким-либо причинам, либо при закрытии окна браузера.


    Рекомендуем почитать

    Наверх