Created by Andrii Mokhovyk
typically something like this
Until 1995, there were many informal standards for HTML. For the standard version different from them, she immediately assigned a second number
HTML 2.0 was published as IETF RFC 1866
HTML 3.2 was published as a W3C Recom.
HTML 4.0 was published as a W3C Recom.
HTML 4.01 was published as a W3C Recom.
ISO HTML, based on HTML 4.01 Strict was published as an ISO/IEC international standard
HTML5 was published as a W3C Recom.
The biggest cleaning standard.
Many elements have been marked as obsolete and deprecated.
Hello world!
In 1998, World Wide Web Consortium began work on the new markup language based on HTML 4 but corresponding syntax XML. Subsequently, a new language called XHTML. The first version of XHTML 1.0 as a Recommendation approved by W3C in January 26, 2000.
The main difference with HTML and XHTML is processing the document.
XHTML documents are processed by its module (parser) similar documents XML.
During this processing, the mistakes made by developers, not corrected.
As a W3C Recommendation browsers encountering an error in XHTML, you must report it and not to process document.
For HTML browsers had to try to understand what the author meant;
Browser selects the parser to process the document based on the header content-type, obtained from the server:
HTML — text/html
XHTML — application/xhtml+xml
The default encoding is UTF-8 (as opposed to HTML, which is the default encoding ISO 8859-1).
A document type declaration, or DOCTYPE, is an instruction that associates a particular SGML or XML document (for example, a webpage) with a document type definition (DTD) (for example, the formal definition of a particular version of HTML)
<!DOCTYPE [Top level element] [Publicity] "[Registration]//[Organization]//[Type] [Name]//[Lang]" "[URL]">
<!DOCTYPE [Top level element] [Publicity] "[Registration]//[Organization]//[Type] [Name]//[Lang]" "[URL]">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.org/TR/html4/strict.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<!DOCTYPE html>
Валидным (то есть отвечающим всем правилам) XHTML-документом считается документ, удовлетворяющий спецификации. В идеале, все браузеры должны следовать веб-стандартам и, в соответствии с ними, валидные документы должны отображаться во всех браузерах на всех платформах. Валидация XHTML-документа рекомендована даже несмотря на то, что она не гарантирует кросс-браузерности. Соответствие документа спецификации может быть проверено на сайте validator.w3.org. При валидации будут обнаружены ошибки в XHTML-разметке; валидатор разъяснит суть ошибок.
start work on
XHTML draft version
XHTML was
published as
a W3C Recom.
HTML5 was
published as
a W3C Recom.
Историю развития языка HTML можно сравнить с детективным рассказом в том, что в ней есть свой неожиданный поворот событий, в результате которых появилась новая версия языка — HTML5. В 1998 Свои надежды на будущее консорциум W3C возлагал на модернизированного наследника HTML — язык XHTML. Но язык HTML не умер. Его "подобрала" группа программистов-аутсайдеров и не только возвратила его к жизни, но и заложила основу для новых возможностей, которые мы с вами и исследуем.
Although browsers understand markup XHTML, they did not provide a rigorous test of derogations from the rules required by this standard. This means that the page can be set up in violation of the rules of XHTML, but browsers do not blink an eye when it is processed.
This issue should, in theory, be solved in the next version - XHTML 2. It had to tighten the rules for error handling, which would be forced browsers don't handle the pages that do not correspond to valid XHTML 2. In XHTML 2 also got rid of many strange and agreements inherited from HTML.
Changes of this kind are typical for XHTML 2 С теоретической точки зрения, они делали язык более аккуратным и были более понятными. Но с практической стороны, они вынуждали всех изменить свой подход к созданию веб-страниц (не говоря об обновлении уже созданных веб-страниц), не добавляя при этом никакой новой функциональности, чтобы оправдать всю эту работу. Но, возможно, худшей проблемой оказалась чрезвычайно медленная скорость внесения изменений. Разработка XHTML 2 тащилась в течение пяти лет, и интерес разработчиков к этому стандарту медленно угасал. обратная совместимость
While HTML was sleeping, related technologies (mainly, CSS, and JavaScript) were sleeping or nap too
Internet continues to evolve, demanding new features and find ways of their implementation.
Within standard HTML 4 and had not yet been finally adopted CSS 2.1 and the previous standard JavaScript - ECMAScript 3, armed power plug-ins (primarily, Flash, and later, Silverlight), Web developers have made a revolution on the Internet:
Created by Opera Software, Mozilla Foundation and Apple
Приблизительно в то же самое время (начиная с 2004 г.) группа разработчиков начала рассматривать будущее Всемирной паутины в другом ракурсе. Вместо того чтобы попытаться разобраться, что было неправильным (или просто "грязным" с философической точки зрения) в HTML, они сфокусировались на том, чего в нем не хватало, что хотели бы иметь веб-разработчики для воплощения своих идей. В конце концов, HTML зародился как инструмент для отображения документов. С добавлением языка сценариев JavaScript, HTML преобразовался в систему для разработки веб-приложений, таких как поисковые движки, онлайновые магазины, картографические инструменты, средства чтения электронной почты и многие другие. Но в то время как искусное веб-приложение может делать много чего впечатляющего, создать такое приложение — задача не из легких. Большинство разработчиков использует для этого мешанину кода JavaScript, один или несколько популярных инструментариев JavaScript, а также веб-приложение, исполняемое на веб-сервере. Добиться правильного и единообразного взаимодействия всех этих составляющих на разных браузерах — сложная задача. Такая ситуация вызывала особенную озабоченность среди разработчиков браузеров, поэтому группа дальновидных разработчиков из компании Opera Software (создатели браузера Opera) и компании Mozilla Foundation (создатели браузера Firefox) начали агитировать за включение в XHTML больше возможностей, ориентированных на разработчиков. Когда их попытки не увенчались успехом, компании Opera, Mozilla и Apple создали группу WHATWG (Web Hypertext Appliccation Technology Working Group - рабочая группа по технологии гипертекстовых веб-приложений) с целью работы над новыми решениями. Группа не ставила перед собой задачу заменить HTML, ее целью было плавное расширение языка, и причем такое, чтобы расширения были обратно совместимыми. Надо сказать, что самая ранняя версия работы этой группы включала две спецификации расширений — Web Applications 1.0 и Web Forms 2.0. В конечном итоге эти стандарты эволюционировали в HTML5. Предполагается, что число 5 в названии HTML5 означает: данный стандарт является продолжением стандарта HTML (последней версией стандарта HTML перед XHTML была версия 4.01). Это, конечно же, не совсем верно, т. к. HTML5 поддерживает все разработки, существовавшие в области создания веб-страниц в течение десяти лет после выпуска HTML 4.01, включая строгий синтаксис в стиле XHTML (если разработчики желают использовать его), а также множество инноваций для JavaScript. Тем не менее это название делает ясным следующее: язык HTML5 может поддерживать соглашения XHTML, но требует следования правилам HTML. В 2000-х все интересное происходило в лагере группы WHATWG. После некоторого периода болезненных размышлений организация W3C решила распустить работающую над XHTML 2 группу и работать вместо этого над формализацией стандарта HTML5. На этом этапе первоначальный стандарт HTML5 был разделен на более управляемые части, и многие из его функциональных возможностей стали отдельными стандартами. Что входит
Сообществом WHATWG, начиная с 2004 года, разрабатывается спецификация Web Applications 1.0, часто неофициально называемая «HTML 5», которая расширяет HTML (впрочем, имея и совместимый с XHTML 1.0 XML-синтаксис) для лучшего представления семантики различных типичных страниц, например форумов, сайтов аукционов, поисковых систем, онлайн-магазинов и т. д., которые не очень удачно вписываются в модель XHTML 2.0.
18 января 2011 года W3C ввёл логотип, чтобы представить использование или добавить интерес к HTML5. В отличие от других знаков, выпущенных ранее компанией W3C, он не подразумевает соответствие определённому стандарту. С 1 апреля 2011 года этот логотип считается официальным. Во время первого показа его публике, W3C объявил логотип HTML5 как символ «универсальной визуальной идентификации данных для широкого набора открытых Веб-технологий, включая HTML, CSS, SVG, WOFF и другие». Некоторые защитники веб-стандартов, включая и The Web Standards Project, раскритиковали это определение HTML5 как обобщённое и размытое понятие. Тремя днями позже W3C ответил на отзыв сообщества и изменил определение логотипа, убрав перечисление связанных технологий. Затем W3C заявил, что логотип «представляет HTML5, краеугольный камень для современных Веб приложений
Принципиально, ключевые изменения можно разделить на 5 блоков: Семантика. В HTML5 появился ряд новых семантических тегов, позволяющих более осмысленно организовывать внутреннюю структуру веб-страниц. Это включает как блочные теги вроде header, footer, article, так и теги для разметки текста, например, mark, ruby, details. Ряд существующих тегов HTML4 признан устаревшим, отдельные теги поменяли свое значение, определенные изменения претерпели атрибуты. Мультимедиа. HTML5 добавляет нативную поддержку мультимедийного контента (аудио и видео) прямо в HMTL-разметке — с соответствующим API для управления воспроизведением (и некоторыми заморочками с кодеками). Графика. Работать с графикой на стороне клиента стало заметно проще. В HTML5 добавлен элемент canvas и специальный API на JavaScript для работы с ним. Canvas представляет собой динамическую «поверхность», поверх которой можно программного рисовать. Также в HTML5 официально включен тег svg, позволяющий внедрять векторную графику, описываемую соответствующим веб-стандартом (SVG, Scalable Vector Graphics). Веб-формы. Новые элементы веб-формы: как типы, так и атрибуты, позволяющие расширить возможности традиционных форм встроенными средствами без использования дополнительных библиотек — от подсказок в поле ввода (placeholder) и проверки вводимых значений до специальных элементов для ввода дат и цвета. JavaScript APIs. Как обозначенные выше API для работы с графикой и мульмедиа, так новые возможности по перемещению объектов (Drag & Drop) и работе с историей переходов (History API), а также ряд мелочей, вроде возможности сделать контент редактируемым прямо в текущем месте с помощью Content Editable атрибутов.
section | Represents a generic document or application section |
article | Represents an independent piece of content of a document, such as a blog entry or newspaper article |
aside | Represents a piece of content that is only slightly related to the rest of the page |
header | Represents a group of introductory or navigational aids |
footer | Represents a footer for a section and can contain information about the author, copyright information, etc |
nav | Represents a section of the document intended for navigation |
figure | Represents a piece of self-contained flow content, typically referenced as a single unit from the main flow of the document |
canvas | This is used for rendering dynamic bitmap graphics on the fly, such as graphs or games |
audio / video | Defines an audio / video file |
embed | Defines external interactive content or plugin |
meter | Represents a measurement, such as disk usage |
time | Represents a date and/or time |
command | Represents a command the user can invoke |
details | Represents additional information or controls which the user can obtain on demand |
progress | Represents a completion of a task, such as downloading or when performing a series of expensive operations |
date | Selector for calendar date |
color | Color selector, which could be represented by a wheel or swatch picker |
Input type should be an email | |
number | A field containing a numeric value only |
range | Numeric selector within a range of values, typically visualized as a slider |
search | Term to supply to a search engine. For example, the search bar atop a browser |
tel | Input type should be telephone number |
time | Time indicator and selector, with no time zone information |
url | Input type should be URL type |
<div id="header">
<h1>Header of Site</h1>
</div>
<div id="sidebar">
<h2>Menu</h2>
<ul>
<li><a href="#">Menu item #1</a></li>
<li><a href="#">Menu item #2</a></li>
</ul>
</div>
<div class="post">
<h2>Post #1</h2>
<p>description of first post.</p>
</div>
<div class="post">
<h2>Post #2</h2>
<p>description of second post.</p>
</div>
<div id="footer">
<p>Bottom of Page</p>
</div>
<header>
<h1>Header of Page</h1>
</header>
<nav>
<h2>Menu</h2>
<ul>
<li><a href="#">Menu item #1</a></li>
<li><a href="#">Menu item #2</a></li>
</ul>
</nav>
<article>
<h2>Post #1</h2>
<p>description of first post.</p>
</article>
<article>
<h2>Post #2</h2>
<p>description of second post.</p>
</article>
<footer>
<p>Bottom of Page</p>
</footer>
Session history management, Offline web applications, Drag and Drop, Text API for Canvas, WebGL - 3D Canvas graphics | |
Web Notifications REC 22.10.15 |
This API used for displaying simple notifications to the user. |
HTML5 Web Messaging REC 18.05.15 |
This specification defines mechanisms for communicating between browsing contexts in HTML document. Messages in server-sent events, Web sockets, cross-document messaging, channel messaging, and broadcast channels use the MessageEvent interface |
Server-Sent Events REC 02.03.15 |
This specification defines an API for opening an HTTP connection for receiving push notifications from a server in the form of DOM events. |
Geolocation API REC 24.10.13 |
This API is used to provide web applications with scripted access to geographical location information of the hosting device. |
Vibration API, Pointer Events, Progress Events, Metadata API, Page Visibility, Widget Interface |
Web storage (Second Edition) PR 26.11.2015 |
This specification defines an API for persistent data storage of key-value pair data in Web clients. |
Media Source Extensions CR 12.11.2015 n |
This specification extends the HTMLMediaElement interface to allow JavaScript to generate media streams for playback. |
WebSocket API CR 20.09.2012 |
This specification defines an API that enables Web pages to use the Web Sockets protocol for two-way communication with a remote host. |
Media Capture API CR 09.09.2014 |
This document defines a set of APIs that allow access to the audio, image and video capture capabilities of the device. |
Web Cryptography API, Battery Status API, DeviceOrientation Event |
File API | The File APIs are used by the browser to provide secure access to the file system. |
HTML Microdata | This API is used to annotate content with specific machine-readable labels, e.g. to allow generic scripts to provide services that are customized to a page. Microdata allows nested groups of name-value pairs to be added to documents. |
Geolocation API Spec. Level 2 | This specification adds the ability to retrieve a civic address, rather than coordinates, to the Geolocation API. |
Web workers | Allows delegation of JavaScript evaluation to background threads, allowing these activities to prevent slowing down interactive events. |
Clipboard API | This document describes apis for clipboard operations such as copy/cut and paste, or drag and drop in web applications. |
W3C Working Draft 08 October 2015
HTML 5.1 is expected to be finalized in 2016