HTML

**HTML** () — **мова разьметкі гіпэртэксту**, асноўная мова разьметкі вэб-старонак (Канструктар сайтаў) у інтэрнэце. Яна прадастаўляе правілы апісаньня структуры тэкставай інфармацыі ў дакумэнце шляхам вызначэньня пэўнага тэксту ў якасьці спасылак, загалоўкаў, абзацаў, сьпісаў і гэтак далей і дадаваньня да гэтых тэкстаў *інтэрактыўных форм*, убудаваных *малюнкаў* і іншых аб’ектаў. HTML запісваецца ў форме тэгаў, узятых у вуглавыя дужкі. У пэўнай ступені HTML таксама можа апісваць выгляд і сэмантыку дакумэнта, а таксама ўключаць убудаваныя код на скрыптавых мовах (такіх як JavaScript), якія могуць уплываць на паводзіны вэб-браўзэраў і іншых апрацоўнікаў HTML-дакумэнтаў.

HTML часта выкарыстоўваецца для азначэньня зьмесьціва MIME-тыпу text/html і таксама ў больш шырокім значэньні як у сваёй форме, спадкаванай ад XML (кшталту XHTML вэрсіі 1.0 альбо пазьнейшай), так і ў форме, спадкаванай наўпрост ад SGML (кшталту HTML вэрсіі 4.01 і ранейшай).

Па пагадненьнях файлы, якія ўтрымліваюць html-дадзеныя, выкарыстоўваюць пашырэньні .html або .htm.

## Гісторыя HTML

### Вытокі
У 1980 годзе фізык Тым Бэрнэрз-Лі, які на той час зьяўляўся незалежным супрацоўнікам Эўрапейскай арганізацыі ядравых дасьледваньняў (CERN), прапанаваў прататып сыстэмы для выкарыстаньня і абмену дакумэнтамі дасьледнікамі арганізацыі. У 1989 годзе Бэрнэрз-Лі і інжынэр арганізазацыі Робэрт Каё кожны адправілі некалькі прапаноў гіпэртэкставай сыстэмы, створанай у межах інтэрнэту, якія прадастаўлялі падобную функцыянальнасьць. У наступным годзе яны стварылі сумесную прапанову (праект WorldWideWeb — W3), якая была прынятая Эўрапейскай аргаганізацыяй ядравых дасьледваньняў.

### Першыя спэцыфікацыі
Першым публічна даступным апісаньнем HTML быў дакумэнт, які называўся *HTML Tags* (*Тэгі HTML*), упершыню згаданы Бэрнэрзам-Лі ў інтэрнэце ў канцы 1991 году. Яно апісвае 22 элемэнты, якія ўключаюць пачатковы, адносна просты дызайн HTML. Трынаццаць зь іх усё яшчэ існуюць у HTML вэрсіі 4.

Бэрнэрз-Лі разглядаў HTML на той час як пашырэньне SGML, але HTML не была яшчэ фармальна вызначаная як мова, якая адпавядае SGML, але гэта адбылося ў сярэдзіне 1993 году, калі IETF апублікавала прапанову HTML-спэцыфікацыі: Бэрнэрз-Лі і Дэн Коналі, «Hypertext Markup Language (HTML)». Прапанова была апубліваваная ў якасьці інтэрнэт-чарнавіка, таму тэрмін яе актуальнасьці скончыўся праз паўгоду. У той жа час дэйв Рэджыт з канца 1993 году распрацоўвае інтэрнэт-чарнавік «HTML+ (Hypertext Markup Format)», дзе былі прапанаваная стандартызацыя ўжо існых магчымасьцяў, кшталту табліц і формаў для запаўненьня.

Пасьля таго, як чарнавікі HTML і HTML+ перасталі быць актуальнымі, IETF у пачатку 1994 году стварыла працоўную групу HTML, якая ў 1995 годзе скончыла працу над «HTML 2.0» — першай спэцыфікацыяй HTML, задуманай разгладацца як стандарт, і на падставе якой мусяць быць заснаваныя будучыя рэалізацыі. Апублікаваны ў 1996 годзе ў выгладзе RFC, HTML 2.0 уключаў у сябе ідэі HTML і HTML+. Вэрсіі «HTML 1.0» не існавала, «2.0» было дададзенае для разьмежаваньня новай вэрсіі і папярэдніх чарнавікоў.

З 1996 году спэцыфікацыі HTML сталі падтрымлівацца кансорцыюмам World Wide Web (W3C) з уплывам распрацоўнікаў камэрцыйнага праграмнага забесьпячэньня. Аднак у 2000 годзе HTML таксама стаў міжнародным стандартам (ISO/IEC 15445:2000). Апошняй спэцыфікацыя HTML, якая была апублікаваная W3C, зьяўляецца рэкамэндацыя HTML 4.01, апублікаваная ў канцы 1999 году. У 2001 годзе быў апубліваканы варыянт з выпраўленымі памылкамі і абдрукоўкамі.

#### Вэрсіі HTML
**Ліпень 1993:** Hypertext Markup Language была апублікаваная IETF як працоўны чарнавік (пакуль яшчэ не стандарт).

**Лістапад 1995:** HTML 2.0 апублікаваная як IETF RFC:
* RFC 1866,
* дапоўненая з дапамогай RFC 1867 (загрузка файлаў з формаў) у тым жа месяцы,
* RFC 1942 (табліцы) у траўні 1996,
* RFC 1980 (кліенцкія мапы малюнкаў) у жніўні 1996,
* RFC 2070 (інтэрнацыяналізацыя) у студзені 1997;

Але ўсе былі прызнаныя састарэлымі з выхадам RFC 2854 у чэрвені 2000.

*HTML 3.0* бала прапанаваная Дэйвам Рэджытам IETF і толькі што створанаму W3C у красавіку 1995. Стандарт утрымліваў вялікую колькасьць паляпшэньняў, якія былі яшчэ ў прапанове Рэджыта HTML+, кшталту падтрымкі табліц, магчымасьць абцяканьня выяваў тэкстам і выяўленьня складаных матэматычных элемэнтаў. І хаця стандарт быў распрацаваны сумяшчальным з HTML 2.0, ён быў вельмі складаным, каб быць у адначасьсе рэалізаваным. Распрацоўнікі браўзэраў аддалі перавагу толькі частковай падтрымцы стандарту, але разам з тым рэалізавалі падтрымку іншых канструкцыяў разьметкі, якія яны хацелі б бачыць у стандарце. Калі тэрмін актуальнасьці чарнавіка скончыўся ў верасьні 1995, праца ў гэтым кірунку была спыненая з-за адсутнасьці падтрымкі з боку браўзэраў. Стандарт *HTML 3.1* тык і ня быў прадстаўлены афіцыйна, і наступная прапанова стандарту пасьля вэрсіі 3.0 была HTML 3.2 (кодавая назва «Wilbur»), якая пазбавілася большасьці новых магчымасьцяў, якія былі ўведзеныя ў HTML 3.0 і замест гэтага ўвабрала ў сябе вялікую колькасьць спэцыфічных тыпаў элемэнтаў і атрыбутаў браўзэраў, якія выкарыстоўваліся браўзэрамі Netscape і Mosaic.

**14 студзеня 1997 году:** HTML 3.2 апублікаваны як рэкамэндацыя W3C.

HTML 3.2 не адпраўлялася ў IETF, чыя працоўная група HTML была зачыненая ў верасьні 1996 году. Замест гэтага ён быў апублікаваны ў выглядзе адной зь першых «рэкамэндацыяў» W3C у пачатку 1997 году. Падтрымка матэматычных выразаў, якая ўтрымлівалася ў HTML 3.0, у выніку была сфармаваная ў асобны стандарт MathML.

**18 сьнежня 1997 году:** HTML 4.0 апублікаваная як рэкамэндацыя W3C. Яна утрымлівала тры варыянты:
* Strict (строгі), у якім састарэлыя элемэнты лічацца забароненымі,
* Transitional (пераходны), у якім састарэлыя элемэнты дапушчальныя,
* Frameset (набор кадраў), у якім пераважна дапушчальныя толькі элемэнты кадраў;

HTML 4.0 (першапачатковая кодавая назва «Cougar»), які з аднаго боку ўтрымліваў вялікую колькасьць спэцыфічных элемэнтаў і атрыбутаў пэўных браўзэраў, у той жа час пачаў спробы зрабіць стандарт больш празрыстым шляхам ператварэньня пэўных зь іх у састарэлыя і рэкамэндуючы не выкарыстоўваць гэтыя тыпы і элемэнты. Нязначныя рэдактарскія праўкі спэцыфікацыі HTML 4.0 былі апублікаваныя ў 1998 годзе без павелічэньня нумара вэрсіі і дадатковыя нязначныя праўкі, апублікаваныя як HTML 4.01.

**24 красавіка 1998 году:** HTML 4.0 была перавыдадзеная зь нязначнымі выпраўленьнямі без павелічэньня нумара вэрсіі.

**24 сьнежня 1999 году:** HTML 4.01 апублікаваная як рэкамэндацыя W3C. Яна прапануе тыя ж тры варыянты, як і HTML 4.0, а апошнія выпраўленьні ейных недакладнасьцяў былі апублікаваныя 12 траўня 2001 году.

HTML 4.01 і ISO/IEC 15445:2000 зьяўляюцца самай апошняй і канчатковай вэрсіяй HTML.

**15 траўня 2000 году:** ISO/IEC 15445:2000 («ISO HTML», заснаваная на HTML 4.01 Strict) апублікаваны як міжнародны стандарт ISO/IEC.

**22 студзеня 2008 году:** HTML 5 апублікаваны W3C як працоўны чарнавік.

#### Вэрсіі XHTML
XHTML — асобная мова, якая пачыналася зь перафармуляваньня HTML 4.01 выкарыстоўваючы XML 1.0. Яна працягвае разьвівацца:
* XHTML 1.0 апублікаваная 26 студзеня 2000 году як рэкамэндацыя W3C, пазьней перагледжаная і перавыдадзеная 1 жніўня 2002 году. Яна прапаноўвае тыя ж тры варыянты як HTML 4.0 і 4.01, сфармуляваныя на мове XML зь нязначнымі абмежаваньнямі.
* XHTML 1.1 апублікаваная 31 траўня 2001 году як рэкамэндацыя W3C. Яна заснаваная на XHTML 1.0 Strict, але ўтрымлівае нязначныя зьмены, можа быць пашыранай, і была сфармуляваная з выкарыстаньнем модуляў з мадулярызацыі XHTML, якая была апублікаваная 10 красавіка 2001 году як рэкамэндацыя W3C.
* XHTML 2.0 усё яшчэ працоўны чарнавік W3C. XHTML 2.0 несумяшчальная з XHTML 1.x і таму будзе больш правільна называць яе новай мовай, заснаванай на XHTML, чым абнаўленьнем XHTML 1.x.
* XHTML 5, якая зьяўляецца абнаўленьнем XHTML 1.x, вызначаецца як паралельная з HTML 5 мова ў чарнавіку HTML 5.

## Разьметка HTML
Разьметка HTML складаецца зь некалькіх ключавых кампанэнтаў, уключаючы *элемэнты* (і іхныя *атрыбуты*), сымбальныя *тыпы дадзеных*, і *спасылкі на сымбалі* з *спасылкамі на сутнасьці*. Яшчэ адзін важны кампанэнт — гэта *пазначэньне тыпу дакумэнта*.

### Элемэнты
Элемэнты зьяўляюцца асноўнай структурай HTML-разьметкі. Элемэнты маюць дзьве асноўныя ўласьцівасьці: атрыбуты і зьмесьціва. Кожны атрыбут і кожнае зьмесьціва элемэнта маюць пэўныя абмежаваньні, якіх варта прытрымлівацца, каб HTML-дакумэнт лічыўся правільна сфармаваным. Элемэнт звычайна мае пачатковы тэг (напрыклад `<назва-элемэнта>`) і канчатковы тэг (напрыклад, `</назва-элемэнта>`). Атрыбуты элемэнта зьмяшчаюцца ў пачатковым тэгу, а зьмесьціва знаходзіцца паміж пачатковым і канчатковым тэгамі (напрыклад, `<назва-элемэнта&nbsp;атрыбут="значэньне">Зьмесьціва</назва-элемэнта>`). Пэўныя элемэнты, кшталту ``, ня ўтрымліваюць ніякага зьмесьціва і ня могуць мець канчатковага тэга.

### Атрыбуты
Большасьць атрыбутаў элемэнта — гэта пары назва-значэньне, падзеленыя знакам «=», і запісаныя ў пачатковым тэгу пасьля назвы элемэнта. Значэньне можа быць узятае ў двукосьсі, хаця значэньні, якія складаюцца з пэўных сымбаляў могуць быць пакінутыя без двукосьсяў у HTML (але не ў XHTML). Пакідаць значэньні атрыбутаў без двукосьсяў лічыцца небясьпечным. У процівагу парным атрыбутам назва-значэньне існуюць атрыбуты, якія ўплываюць на элемэнт проста сваёй наяўнасьцю ў пачатковым тэгу элемэнта (кшталту атрыбуту `ismap` для элемэнта `img`).

### Пазначэньне тыпу дакумэнта
Для таго, каб уключыць праверку прыладамі SGML, заснаваную на вызначэньні тыпу дакумэнта, з мэтай пазьбегнуць рознай інтэрпрэтыцыі браўзэрамі, HTML-дакумэнты могуць пачынацца з пазначэньня тыпу дакумэнта (Document Type Declaration — DTD). Пазначэньне тыпу дакумэнта ўтрымлівае машынную граматыку, якая вызначае дазволенае і забароненае зьмесьціва для дакумэнта, які заяўляе, што адпавядае пэўнаму тыпу. Аднак, браўзэры не абавязкова чытаюць DTD. Найбольш распаўсюджаныя графічныя браўзэры выкарыстоўваюць пазначэньне тыпу дакумэнта (альбо яго адсутнасьць) і іншыя зьвесткі ў пачатку выточнага коду для вызначэньня, які рэжым адлюстраваньня выкарыстоўваць.

Напрыклад:

: ``

Гэтае пазначэньне спасылаецца на тып дакумэнта HTML 4.01, які, напрыклад, ня ўтрымлівае элемэнтаў кшталту ``, пакідаючы ўсё фарматаваньне каскадным табліцам стыляў і тэгам `span` і `div`.

## Актуальныя варыянты HTML
Ад моманту свайго зьяўленьня HTML і паралельныя стандарты адносна хутка атрымалі падтрымку. Аднак, мова ня мела яснага стандарту ў першыя гады свайго разьвіцьця. Хаця ейныя стваральнікі першапачаткова прасоўвалі HTML як сэмантычную мову, вольнай ад дэталяў рэалізацыі, практычнае выкарыстаньне ўвяло ў мову вялікую колькасьць элемэнтаў і атрыбутаў, якія падтрымліваліся пераважна разнастайнымі стваральнікамі браўзэраў. Апошнія стандарты HTML рэалізуюць спробы перайсьці часам хаатычную распрацоўку мовы і стварыць глебу для пабудовы адначасова сэнсавых і добра складзеных дакумэнтаў. Каб вярнуць HTML ейную ролю сэмантычнай мовы, W3C распрацавала мовы стыляў, такія як CSS і XSL, каб перакласьці на іх праблемы выяўленьня. У выніку, спэцыфікацыя HTML паступова устрымліваецца і пазбаўляецца ад існых элемэнтаў выяўленьня.

## Крыніцы і заўвагі

## Вонкавыя спасылкі

* Даведнік па HTML на беларускай мове