Кем был разработан язык html. HTML – история развития языка разметки гипертекста. Какие версии HTML существуют

Краткая история языков HTML и XHTML

История языка HTML началась в 1991 году, когда сэр Тим Бёрнерс Ли представил миру HTML 1.0, в котором тогда описывалось всего лишь 20 тегов. Спецификации для языка HTML 1.0 не существовало.

В 1994 году был создан W3C — World Wide Web Consortium (Консорциум Всемирной паутины), который в 1996 году создаёт HTML 2.0, а также спецификацию для него. W3C — это специальная структура, которая развивает и создаёт различные веб-технологии, в неё может войти любая организация или частное лицо, заинтересованное в развитии интернета.

В январе 1997 года, W3C создает HTML 3.2, затем в декабре того же года HTML 4.0, а в декабре 1999 года у HTML 4.01.

В 2000 году был разработан язык XHTML 1.0, он должен был стать переходным звеном между языками HTML и XML. Задача языка XHTML 1.0 состояла в том чтобы вытеснить из вёрстки все теги и атрибуты форматирования, а также приучить разработчиков сайтов к строгому синтаксису.

В 2001 году, W3C создаёт XHTML 1.1 который полностью становится подобием языка XML, браузер Internet Explorer который занимал 95% рынка его не поддерживал.

В 2002 году, W3C начал разрабатывать XHTML 2.0, язык решили делать с нуля, что привело к проблемам совместимости с предыдущими версиями языков HTML и XHTML.

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

Рождение HTML5

История HTML5 начинается в 2004 году, когда большая часть видных деятелей веб-индустрии, а также крупных компаний таких как (Google, Mozilla, Opera, Apple и Microsoft), создают свою собственную рабочую группу под названием WHATWG (возглавил её гениальный программист — Ян Хиксон).

Перед тем как начать работать над HTML5, рабочая группа WHATWG создала две спецификации: Web Forms 2.0 (веб-формы) и Web Apps 1.0 (веб-приложения). Затем эти две спецификации сделали частью спецификации HTML5.

В 2006 году W3C всё еще продолжает работать над XHTML 2.0. В том же году руководитель консорциума сэр Тим Бёрнерс Ли написал в своём блоге, что работа над XHTML 2.0 видимо не будет иметь смысла, поскольку разработчики сайтов не желают создавать свои проекты по XML типу, а желают новых версий HTML. Поэтому в этом же году W3C начал разработку своей версии HTML 5 (пишется через пробел) , в её основе лежали наработки рабочей группы WHATWG.

Сам WHATWG работал над своей версией HTML5 (пишется без пробела) , причем эта версия тоже должна была стать одной из спецификаций консорциума W3C.

В 2009 году W3C прекратил развитие XHTML 2.0 и начал разрабатывать HTML5 (решили писать без пробела) уже совместно с WHATWG.

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

На данный момент, работа над языком HTML5 продолжается, создаются новые теги и технологии, всё это добавляется в спецификацию, сама спецификация HTML5 была опубликовна (28 октября 2014 г.).

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

За появление HTML современный мир должен благодарить одного ученого Европейского совета по ядерным исследованиям (Conseil Européen pour la Recherche Nucléaire, CERN). Зовут этого ученого Тимоти Джон Бернерс-Ли. Первая версия HTML создавалась для целей форматирования научных документов. Именно структурного форматирования без элементов описания цветовых схем, параметров шрифта и т.п. Таким образом, изначально HTML позволял выделять в тексте заголовки, абзацы, списки и им подобные структурные элементы. Результат обработки или “воспроизведения” HTML не должен был зависеть от технических особенностей аппаратных средств его визуализации, поскольку не содержал в себе параметров этой визуализации. Со временем такая особенность языка разметки гипертекста была частично утрачена.

Итак, появление первых версий HTML относят к 1986 году, а в 1991 году HTML был существенно доработан и стал использоваться именно для передачи гипертекста по просторам всемирной паутины. Говорят, что всемирно известная аббревиатура HTML, расшифровывающаяся как Hyper Text Markup Language (язык разметки гипертекста) появилась как раз в начале 90-х годов прошлого века. А теперь небольшой экскурс в родословную языков разметки. Первая версия языка разметки гипертекста HTML была создана на основе стандарта обобщенного языка разметки SGML (Standard Generalized Markup Language), который в некотором роде можно считать прообразом расширяемого языка разметки данных (eXtensible Markup Language). Стандарт XML в наше время приобрел огромную популярность благодаря большому количеству своих расширений, используемых в компьютерных технологиях. Чтобы совсем запутать читателя сразу добавлю, что впоследствии на основе XML был разработан язык разметки гипертекста XHTML (Extensible Hypertext Markup Language), повторяющий по своей сути HTML. В результате мы имеем аббревиатуры SGML, HTML, XML и XHTML, и необходимо понять, кто из них кто. На самом деле все просто: SGML это не что иное, как набор правил, на основе которых можно строить любые языки разметки. HTML и есть один из этих языков - приложение SGML. Другими словами, SGML определяет то, как должны выглядеть элементы разметки, а HTML - какие именно должны быть элементы и как они должны интерпретироваться браузерами. XHTML, в свою очередь, является приложением XML, а сам XML ни что иное, как упрощенный вариант SGML. , не смотря на то, что очень внешне похожи, имеют существенные скрытые отличия, которые, по большей части, заключаются в принципе их обработки.

Теперь вернемся к истории развития HTML. Итак, до 1994 года HTML по-прежнему использовался только для структурной разметки данных, хотя в его составе уже появились теги для выделения текста жирным или курсивом. В том же 1994 году создается организация W3C (World Wide Web Consortium) – Консорциум всемирной паутины, которую возглавляет, что вполне логично, тот самый Тим Бернерс-Ли, и в 1995 году в свет выходит рекомендация HTML 2.0. Создатели HTML уже тогда понимали, что со временем их детище из языка статичной разметки текста эволюционирует в основной инструмент создания динамических интернет ресурсов. Главным дополнением HTML 2.0 стало появление в составе языка форм с наборами пользовательских элементов управления, которые должны были использоваться для ввода пользователем параметров HTTP запросов.

После выхода второй версии сразу же началась работа над следующим поколением HTML. В 1997 году выходит рекомендация HTML 3.2, которая дополнила язык разметки таблицами, фреймами, изображениями и некоторыми другими важными тегами. Но самым главным достижением 3-й версии является то, что ее авторы вновь вернулись к проблеме визуализации разметки в браузере, вспомнили про то, что HTML должен размечать лишь структуру документа и не должен содержать непосредственно в себе параметры графических стилей отображения элементов в браузере. Результатом их работ над HTML 3.2 стало появление самостоятельного языка CSS (Cascading Style Sheets) – каскадных таблиц стилей, код которого можно теперь подключать к коду разметки HTML и тем самым настраивать внешний вид страницы.

К выходу 4-й версии HTML в 1997 году сотрудники W3C избавили свое детище от тех ненужных элементов, которые с появлением CSS стали устаревшими и компрометировали идею отделения разметки структуры от параметризации представления. Но из-за таких мелочей никто не стал бы городить новую версию. Основное достижение рекомендаций HTML 4.0 – появление объектной модели страницы (Document Object Model, DOM), элементами которой теперь можно было манипулировать посредствам скриптовых языков программирования, исполняемых браузерами. Самым популярным таким языком программирования является JavaScript. HTML плюс DOM плюс JavaScript равно Dynamic HTML или просто DHTML, который ознаменовал прорыв в веб-дизайне. Теперь элементы загруженной интернет страницы могли изменять свой внешний вид в ответ на действия пользователя, а также добавлять новые и удалять имеющиеся элементы. В 24.12.1999 году выходит последняя редакция 4-й версии языка разметки гипертекста – HTML 4.01.

Версия HTML5 до сих пор еще не получила статус официальных рекомендаций W3C, но уже сейчас понятно, что авторы HTML продолжают работать в направлении разработки требований к поддержке объектной модели документа и интерпретации JavaScript. Хотя HTML5 и получит ряд новых тегов, но большая часть рекомендаций все же касается поведения браузера в контексте работы DHTML: появится встроенная поддержка функций перетаскивания элементов (drag-and-drop), возможность рисовать на виртуальном полотне (canvas), управлять просмотром истории, обмениваться сообщениями между страницами, сохранять контекст исполнения и многое другое. Есть надежда, что с выходом новых рекомендаций HTML проблемы отсутствия кроссбраузерности, когда один и тот же JavaScript код исполняется под управлением разных браузеров по-разному, будут постепенно исчезать. Ведь тенденция определять требования к работе с объектной моделью и JavaScript будет сохраняться, а разработчики браузеров будут обязаны (если хотят, чтобы их программными продуктами пользовались) следовать этим требованиям.

Выход HTML5 запланирован на 2014 году. Возможно, к тому времени W3C разработает отдельные рекомендации, касающиеся только программирования на JavaScript, а HTML со временем снова станет исключительно языком разметки структуры документа. Не смотря на то, что сегодня еще только 2012 год, многие уже сейчас поддерживаются наиболее популярными браузерами. Многое, что приходилось веб-дизайнерам раньше делать самостоятельно (тот же drag-and-drop), с выходом HTML5 будет поддерживаться на уровне браузера, и такой ход развития событий не может не радовать. Остается надеяться, что тенденция сохранится.

  • Перевод

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

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

2. Какие версии HTML существуют? Первая версия HTML (1989) не имела номера версии; это был просто «HTML». Первая стандартизированная версия HTML, выпущенная Internet Engineering Task Force (IETF) в 1995, называлась HTML 2.0.7. Какая разница между Strict, Transitional и Frameset DTD"шками? Разница между этими DTD в том, какие элементы и атрибуты они декларируют и в том, каким образом они позволяют (обязывают) соблюдать вложенность элементов.
  • HTML 4.01 Strict DTD - делает ударение на разделении содержимого от презентации и поведения. Эту DTD W3C рекомендует для всех новых документов.
  • HTML 4.01 Transitional DTD - является неким промежуточным звеном при переходе от «старой» (old-scool"ьной, доHTMLьной) разметки к современной. Не рекомендуется использовать при написании новых документов. Содержит 11 презентационных элементов (прим. переводчика: не несущих смысловой нагрузки, а используемых исключительно для изменения внешниго вида; например элемент ) и полный набор презентационных атрибутов, которые отменены в Strict DTD. Transitional DTD часто необходима для страниц располагающихся внутри фреймов, т.к. она имеет атрибут target , необходимый для открытия ссылки в другом фрейме.
  • HTML 4.01 Frameset DTD - используется для страниц на основе фреймов. Консорциум W3 не рекомендует использовать фреймы. Для современных сайтов более удачным решением будет использование приложений на стороне сервера для решения подобных задач.
8. Какой DOCTYPE выбрать? Если мы создаем новую страницу, W3C рекомендует использовать HTML 4.01 Strict (прим. переводчика: конечно, всем известно, что всё-таки лучше использовать XHTML 1.0 Strict) .

Если мы собираемся переводить старые HTML 2.0 или HTML 3.2 документы, то пока мы не перевели всю презентацию в CSS, а элементы, отвечающие за поведение в JavaScript, мы можем использовать HTML 4.01 Transitional.

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

На протяжении «войны браузеров» в конце 90-х, такие производители браузеров как Microsoft и Netscape соревновались, кто больше придумает «крутых» фич для стилизации и оформления HTML страниц. Проблема была в том, что эти фичи не были стандартизированными и, в большинстве случаев, были не кроссбраузерными.

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

Также были широко распространены нестандартизированные атрибуты. Один из примеров - marginwidth .

13. Что такое BOM?BOM , или byte order mark (отметка последовательности байтов) - используется в некоторых кодировках, которые используют больше 8-ми бит для кодирования данных (например, UTF-8 или UTF-16). Процессор умеет использовать две разные схемы хранения больших целых чисел: «big-endian» (тупоконечная) и «little-endian» (остроконечная). BOM содержит 16 бит, записанных в самом начале файла, которые указывают браузерам, какая схема используется.

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

Единственное решение проблемы - не использовать BOM. Редакторы, которые умеют сохранять документ в UTF-8 обычно позволяют выбрать, использовать или не использовать BOM.

14. Какую кодировку использовать?Прим. переводчика: переводить этот пункт не стал; думаю, всем известно, что UTF-8 - это наше всё. Следует использовать UTF-8 . А при сохранении документа выбирать UTF-8 without BOM . 16. Почему нужно писать & amp; вместо &?Прим.: HTML-последовательности у меня написаны с пробелом после амперсанда, потому что в противном случае парсер Хабра их отображает не так как надо.

Некоторые символы имеют особое значение в HTML: < (меньше), > (больше), & (амперсанд), " (кавычки), " (апостроф). Иногда, когда мы хотим использовать эти значки в обычном тексте, мы должны заменять их HTML-последовательностями.

Для первых четырех указанных выше знаков последовательности будут выглядеть так:

  • & lt; (меньше)
  • & gt; (больше)
  • & amp; (амперсанд)
  • & (кавычки)
XML определяет HTML-последовательность для апострофа (& apos; ), но HTML не включает в себя эту последовательность. Апостроф может быть заменен только цифровой последовательностью (& #39; ). Прим. переводчика: ради интереса провел маленький эксперимент. На практике последовательность & apos; в апостроф интерпретируют все браузеры (FF3, Opera 9, Safari 3, Google Chrome) кроме IE (все версии).

Т.к. амперсанд используется во всех этих последовательностях, он всегда должен быть преобразован в HTML-последовательность, включая случаи, когда он используется внутри атрибутов, в частности в атрибуте href в ссылках. К сожалению амперсанд очень часто встречается в URI в качестве разделителя аргументов.

В большинстве случаев в HTML амперсанд не замененный последовательностью ничего не ломает (но XHTML - это другая история). Но что если нам случится столкнуться с параметром запроса, совпадающим с названием html-последовательности…

21. Что использовать,

Или
? Элемент p используется для выделения абзацев в тексте. Абзац - одно или больше предложений объединенных одной мыслью.

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

С другой стороны p имеет довольно четкое семантическое значение: разметка абзацев. Иногда веб-разработчики склонны рассматривать p как основной блочный для использование в качестве контейнеров, но это не верно. Не редкость увидеть элементы label и input внутри p в формах, но я бы назвал это семантически неверным. Метки и поля ввода не могут являться содержимым абзаца.

23. Стоит ли заменить и на и ? Только если вы действительно хотите подчеркнуть что-то (сделать на чем-то ударение, выделить). Эти теги не являются равноценными.

В Теперешние Не Менее Грустные Времена, авторы используют strong и em для того, чтобы сделать текст жирным или курсивом .

em означает семантическое ударение, усиление значения. Содержимое, к которому применяется такой вид выделения, должно иметь усиление во время прочтения вслух (например, громче или протяжнее). strong означает ещё большее ударение, но часто это считается излишним (можно использовать вложенные em для указания еще большего ударения). Некоторые эксперты советуют использовать strong только для определенных элементов на странице, которые однозначно должны быть выделенными (например, указатель «текущей страницы»), и не должны отмечать слова и фразы внутри основного текста.

b и i не имеют семантической нагрузки; они всего лишь меняют шрифт на жирный или курсив. Они хороши для использования в общепринятых типографских правилах, которые не нашли семантически подходящего HTML элемента. Например, названия кораблей традиционно отображаются курсивом, но в HTML нет элемента . По этому можно записать Титаник.

27. Как правильно использовать элемент ?address используется для указания контактной информации на странице. Это может быть почтовый адрес, номер телефона, любая другая контактная информация. address - блочный элемент, который может содержать только текст и inline-элементы. В большинстве браузеров по умолчанию отображается курсивом, но это легко исправить с помощью CSS.

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

28. Как правильно использовать элемент ?dfn используется для «определения значений терминов». Это типографское соглашение, особенно общепринятое в научных документах, для выделения курсивом нового термина, с которым читатель возможно не знаком, когда определение появляется в тексте первый раз. По умолчанию dfn отображается курсивом.

Общеизвестное заблуждение, что dfn означает «сокращение» и многие авторы используют его также как abbr и acronym (указывая пояснение к термину с помощью атрибута title). Термины должны отмечаться с помощью dfn в документах только один раз (при первом употреблении термина и его пояснении).

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

* 21 * дополнительный номер #

Здесь тег var используется для указания «дополнительного номера» (который будет отмечен курсивом). Тот, кто захочет перенаправить звонок на дополнительный номер 942 напишет «21*942# ». Таким образом, var означает не то, что вы должны ввести «д-о-п-о-л-н-и-т-е-л-ь-н-ы-й н-о-м-е-р», а то, что вместо слов «дополнительный номер» будут цифры.

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

31. Какая разница между тегами и ? Никто толком не может дать ответ на этот вопрос! Даже спецификация HTML в какой-то степени противоречит сама себе.

abbr было расширением Netscape для HTML на протяжении «войны браузеров». acronym было Майкрософтовским расширением. Оба варианта означают приблизительно одно и тоже. Оба элемента были включены в спецификацию HTML с разной семантической нагрузкой. Проблема в том, что никто толком не может объяснить, в чем заключается эта семантика.

Давайте обратимся к словарю:
Аббревиатура - сокращенная форма слова или фразы.
Акроним - слово, сформированное из первых букв или нескольких первых букв слов в составе фразы или нескольких слов.

Определение акронима говорит, что это слово, т.е. оно может быть произнесено. Таким образом, «NATO» является акронимом, т.к. состоит из начальных букв в словосочетании «North Atlantic Treaty Organization». Напротив, «FBI» не будет являться акронимом, в соответствии с определением, потому что его нельзя произнести как целое слово, а скорее оно будет звучать как «еф-би-ай». Вот тут то и начинает неразбериха. Технически известно, что «FBI» - это инициализм (прим. переводчика: в оригинале «initialism») , определение которого по словарю звучит так:

Инициализм - 1) название или термин, сформированный из первых букв или из нескольких первых букв слов, которые произносятся как отдельные слова; 2) группа первых букв означающих имя, организацию и т.д., которые произносяться отдельно.

Первое определение почти то же, что и акроним, а второе более отстраненное. Не смотря на это в спецификации нет элемента initialism , и путаница усугубляется тем, что слово «акроним» в простой американской речи используется как синоним слова «инициализм».

Спецификация HTML предлагает следующие определения:

abbr - указывает на сокращенную форму (например, WWW, HTTP, URI, Mass и т.д.).
acronym - указывает на акроним (например, WAC, radar и т.д.).

Похоже на то, что спецификация ссылается на словарные определения, что означает что «FBI» должно быть размечено тегом abbr , т.к. не может быть произнесено как целое слово. Не смотря на это, несколькими абзацами ниже спецификация говорит:

Западные языки широко используют такие акронимы как «GmbH», «NATO», и «F.B.I.», в качестве аббревиатур таких как «M.», «Inc.», «et al.», «etc.»

Вы еще не запутались? Я да. Безопаснее всего всегда использовать abbr , так как все акронимы также являются аббревиатурами, но не наоборот. Не смотря на это, тут есть небольшая проблема. Microsoft были так расстроены решением W3C использовать abbr для абревиатур и инициализмов вместо acronym , что они отказались от поддержки тега abbr ! (Но все же ввели поддержку abbr в Internet Explorer 7.)

Так что же делать бедным веб-разработчикам? И почему мы вообще должны заморачиваться? Конечно, хорошо иметь элемент, к которому можно прилепить атрибут title , но мы же это можем сделать и со span "ом. Суть в том, что размечать акронимы и аббревиатуры хорошо для смежных технологий; в частности для screen reader"ов. Но скрин ридеры в большинстве предпочитают игнорировать теги abbr и acronym , т.к. никто точно не знает, как правильно их использовать и Microsoft не поддерживает тег abbr . Это палка о двух концах.

Вопрос на этот ответ я не знаю! Лично я использую abbr для таких очевидных аббревиатур как «Inc.» и для таких инициализмов как «FBI», и использую acronym для сокращений, которые можно прочесть как слово, например «GIF». Но в соответствии со спецификацией я не могу никого обвинить в разметке «FBI» в качестве акронима. А как на счет «SQL», который некоторые произносят по буквам, а некоторые называют «сикуэл».

32. Почему отменяются определенные фичи? Самая распространенная фича которой интересуются новички - это атрибут target . Этот атрибут запрещен в HTML 4.01 Strict, но до сих пор поддерживается в HTML 4.01 Transitional. Существует много элементов и атрибутов, которые разрешены в Transitional, но запрещены в Strict.

Причина, по которой W3C отменяет некоторые элементы и атрибуты - желает разделить содержимое (HTML), внешний вид (CSS) и поведение (JavaScript). Заставить элемент отображаться по середине - это вопрос презентационный; он должен быть решен средствами CSS, а не с помощью тега center . Открыть ссылку в новом окне - это вопрос поведения; он должен решаться средствами JavaScript, а не с помощью атрибута target .

В основном, отмененные фичи - те, которые появились на протяжении войны браузеров в 90-х. Эти фичи были включены в HTML 3.2, чтобы хоть как-то навести порядок, но это не главная задача, которая стояла перед HTML. С релизом HTML 4, его авторы попытались «переучить Веб» убирая «пагубные» части, которые были включены в HTML 3.2, по крайней мере в Strict DTD.

Другими словами эти вещи отменены не просто так. По возможности старайтесь их не использовать.

37. Как подключить HTML страницу внутри другой страницы? Если вы используете Strict DTD, то у вас есть только один валидный способ - использовать элемент object :


Alternate content here for browsers that don"t support OBJECT.

К сожалению поддержки object "а нет в Internet Explorer"е.

При использовании Transitional DTD можно использовать iframe "ы:


Alternate content here for browsers that don"t support IFRAME.

Свою историю HTML начинает с 1986 года, когда Международной организацией по стандартизации (ISO) был принят стандарт озаглавленный "Standard Generalized Markup Language" - SGML. Этот стандарт был посвящен описанию обобщенного мета языка, который позволял строить системы логической структурной разметки любых разновидностей текстов. Он соответствовал международному стандарту ISO 8879.

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

SGML является не готовой системой разметки текста, а определяет лишь синтаксис записи элементов разметки – тегов и их атрибутов, а также правила определения новых тегов и указания структурных отношений между ними.

Идеология SGML повлияла на многие компьютерные разработки, однако сам по себе язык не получил обширного распространения.

В 1991 году, британским ученым Тимом Бернерсом Ли, сотрудником Европейского института физики частиц (CERN) в Женеве, была разработана система передачи гипертекстовой информации через интернет. А за основу нового языка был взят SGML. Язык разметки гипертекста был назван - HTML (Hyper Text Markup Language) и он является до сих пор самым известным из приложений SGML. HTML в первую очередь был разработан для обмена научной и технической документации для использования людьми, не являющимися специалистами в области верстки. Путем определения небольшого набора структурных и семантических элементов, получались достаточно простые и в тоже время красиво оформленные документы. HTML успешно справился с проблемами SGML.

Как и положено изначально язык HTML разделял все особенности идеологии SGML. Но в 1993 году появляется версия языка HTML 1.2, которая имела сорок с небольшим тегов, три из которых не рекомендованы к использованию, так как указывали на физические параметры предоставления документа, что противоречило идеологии SGML. Вся разметка была логической и только в описательной части стандарта можно было увидеть что-то типа ”в графических браузерах действие этого тега может передаваться жирным начертанием”.

Программа Mosaic была единственной в то время браузером поддерживающим графические возможности. Она была разработана в Национальном центре суперкомпьютерных приложений США (National Center for Supercomputer Applications - NCSA), там же, кстати, была разработана WWW (World Wide Web). По этой причине никаких противоречий между официальными стандартами и их реализацией в браузерах тогда не существовало.

В апреле 1994 года был образован Консорциум W3C (World Wide Web Consortium). Так как официальной спецификации HTML 1.0 не существовало, W3C начал заниматься подготовкой спецификации HTML следующей версии. Но чтобы стандартная версия отличалась от всех предыдущих, ей сразу присвоили номер 2.0. Разработка спецификации HTML 2.0 шла не спеша и лишь в сентябре 1995 года она была утверждена. Из больших дополнений был добавлен лишь механизм форм для отсылки информации с компьютера пользователя на сервер.

Тем временем Консорциум W3 в параллель со спецификацией 2.0 занимался обсуждением HTML 3.0. Она была предложена в марте 1995 года. Третья версия предлагала много новых возможностей: поддержка таблиц, обтекание изображения текстом, отображение сложных математических формул, примечания. Поддержка этого стандарта браузерами того времени была не удовлетворена.

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

Следующей версией HTML стала 3.2 и в ней были опущены многие нововведения из версии 3.0.

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

HTML 4.01 утвердили 24 декабря 1999. Изменения принятые в нем были более значительные, чем, кажется на первый взгляд.

Сейчас W3C занимается разработкой пятой версии языка HTML. Ее черновой вариант стал доступен 20 ноября 2007 года.

В параллель ведется также разработка XHTML (Extensible Hypertext Markup Language) - расширяемый язык разметки гипертекста. В нем предъявляются более строгие требования к синтаксису, чем в HTML. XHTML 1.0 был утвержден 26 января 2000 года в качестве рекомендации W3C. Вариант XHTML 1.1 одобрен в качестве рекомендации консорциума 31 мая 2001года.

Со спецификациями HTML всегда можно ознакомиться на официальном сайте Консорциума W3C по адресу http://www.w3c.org . Спецификация, предложенная W3C должна быть управляющей и направляющей, обеспечивая одинаковую форму представления информации различными браузерами. В реале с этим не все так хорошо и не всегда различные браузеры отображают одну страницу одинаково. Но это дает стимул к усовершенствованию возможностей браузера и уточнения спецификации. Этот процесс идет непрерывно.

Всем приветик. За окном у нас уже 2013 год, поэтому такие слова как интернет, e-mail, web-сайт и другие, не вызывают у нас удивления. Сейчас достаточно много людей ведут свои блоги на платных и бесплатных ресурсах и используют технологию html, но мало кто знает, как эта технология неразрывно связана с развитием Интернета и имеет свою историю.

Кратко о гипертекстовой разметке — HTML

История развития Интернета и появление HTML

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

Официальным днем рождения Интернета считается 2 января 1969 года, когда Управление перспективных исследований (Advansed Research Project Agency, ARPA) Министерства обороны США начало работу над проектом связи оборонных компьютеров.

Одним из первых достижений Интернета в 1970-е стало его международное применение, что привело к созданию электронной почты (Electronic mail), ныне именуемой просто e-mail. Так же в этот период времени, что бы отслеживать новости по всему миру были созданы новостные группы (Usernet).

Востребованность Интернета привела к разработке и созданию в 1980-е сети Bitnet, которая тоже входила в группу Интернет, но не имела никакого отношения ни к исследовательским, ни к военным проектам. Авторами этой сети считаются специалисты Нью-йоркского университета (City University of New York).

В 1984 году была внедрена система DNS (Domain Name System), так называемая система доменных имен, которая позволяла установить связь между цифровыми и символьными именами доменов. До использования системы DNS, все адреса сайтов имели вид IP-адресов, что существенно осложняло их запоминание и восприятие.

В 1986 году был принят первый стандарт ISO-8879 Международной организацией стандартизации (International Organization for Standardizations, ISO), под названием SGML (Standard Generalized Markup Language - стандартный обобщенный язык разметки). SGML - обогащенный метаязык, позволяющий строить системы логической и структурной разметки текстов любых разновидностей.

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

В 1989 году выпускник Оксфордского университета, бакалавр в области физики, сотрудник Европейского центра ядерных исследований (CERN) Тим Бернерс-Ли (Tim Berners-Lee) разработал язык HTML (HyperText Markup Language - язык разметки гипертекста), ставший основным языком создания веб-документов и прототипом Всемирной паутины (World Wide Web, WWW). Тим Бернс-Ли - автор идеологии гиперссылок. По сути, язык HTML - это набор SGML-предписаний, сформулированный в виде DTD. В случае языка HTML определение типа документа хранится в браузере, и это определение намного проще, чем DTD языка SGML.

Однако нельзя сказать, что именно Тим Бернерс-Ли один все и придумал. К открытию подошло все человечество, накопив достаточные знания. Так, еще в середине XX столетия Ванневар Буш (Vannevar Bush) объявил миру новое слово - «гипертекст», а Тед Нельсон (Ted Nelson) предложил создать «документарную вселенную», связав все тексты, произведенные человечеством на свет, перекрестными ссылками, но в начале шестидесятых годов двадцатого столетия у академической публики это воззвание не вызвало ничего, кроме снисходительной улыбки.

Осенью 1990 года сотрудники CERN получили в пользование первый веб-сервер и веб-браузер, созданные Тимом Бернерсом-Ли в среде NeXTStep.

Для работы с текстами был разработан специальный протокол передачи гипертекста (HyperText Transfer Protocol, HTTP). Эта технология дала огромный толчок развитию Сети, и Интернет стал действительно интернациональной сетью.

Если бы я знал тогда, сколько людей будут указывать URL,
то не стал бы использовать в синтаксисе два слэша.
Тим Бернерс-Ли

Летом 1991 года проект WWW, покоривший научный мир Европы, пересек океан и влился в американский проект Internet. Появился ряд новых аббревиатур: URL, HTTP, HTML. Вспыхнувшее было соперничество между Европой и Америкой за новую информационную технологию сошло «на нет» с переездом Тима Бернерса-Ли в США. В 1994-м он сначала возглавил кафедру в Массачусетском технологическом институте, а затем - международный консорциум W3C (World Wide Web Consortium), играющий роль центра стандартизации Всемирной Паутины.


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

  • P - точка присутствия (Point of Presence, POP). Точками присутствия называют места подключения к магистрали сети поставщика услуг Интернета (Internet Service Provider, ISP), или провайдера, обслуживающего локальных пользователей
  • N - точка доступа (Network Access Points, NAP). Точками доступа, или центрами обмена (Internet eXсhange, IX), называют места объединения сетей нескольких провайдеров
  • DNS - сервер доменной системы имен (Domain Name System, DNS). DNS-серверы служат для трансляции доменных имен в IP-адреса
  • F - файловый (file) сервер
  • W - веб-сервер (web-server)
  • D - домен (domain)

Многие компании стали выпускать собственные браузеры и к ним собственные расширения языка HTML, например в 1993 году был разработан первый графический браузер Mosaic. После этого появилось еще более ста различных браузеров. Самыми популярными стали Netscape Navigator и Microsoft Internet Explorer.

Консорциум W3C разработал стандарты, необходимые для дальнейшего развития World Wide Web. В 1996 году Консорциум W3C объявил о сотрудничестве с лидерами рынка в целях стандартизации программного обеспечения.

Развитие технологии HTML

Появившийся в 1991 году язык HTML постоянно дорабатывался и дополнялся. Из всех этих видоизменений выделяют следующие версии:

  • HTML 1.0 . Первая версия языка
  • HTML 2.0 . Эта версия (RFC 1866) была разработана в 1994 г. Рабочая группа по HTML в составе IETF (Internet Engineering Task Force) ввела соответствующие изменения, и набор базовых элементов. HTML 2.0 приобрел статус стандарта
  • HTML 3.0 начале 1996 г. Появилось много нововведений, включая теги для создания таблиц, для разметки математических формул, для вставки обтекаемых текстом рисунков, для вставки примечаний и т. д. Не нарушая основные концепции разметки гипертекста, авторы версии 3.0 ввели новое средство - каскадные листы стилей (Cascading Style Sheets, CSS)
  • HTML 3.2 . Эта версия языка была реализована в 1996 г. В ней были предусмотрены дополнительные элементы, предназначенные для создания апплетов, задания регистра символов и т. д. Версия HTML 3.2 стала компромиссным решением - попыткой примирить Microsoft и Netscape и объединить их оригинальные решения
  • HTML 4.0 . Эта версия языка была реализована в 1997 г. Вторая скорректированная реализация вышла в 1998 г. В HTML 4.0 была введена поддержка мультимедиа, языков сценариев, а также средств воспроизведения документов для пользователей с физическими ограничениями. В этой версии консорциум W3C указал, что почти все атрибуты, определяющие вид HTML-документа (цвет, выравнивание, шрифты, графика и т. д.), являются нежелательными, взамен рекомендуется использовать листы стилей и классы. Однако большинство разработчиков веб-страниц по-прежнему используют подобные теги
  • HTML 4.01 . Эта версия вышла в 1999 г. В ней были исправлены недочёты, замеченные в предыдущей версии
  • HTML 5 . Разработка этой версии началась в рабочей группе W3C в 2007 г. и 22 января 2008 г. появились в новой спецификации. Спецификация и сейчас находится в разработке и может находиться в этой стадии еще несколько лет. Однако в Интернет уже активно создают сайты с применением этой спецификации
Другие языки програмирования, созданные для поддержки Html

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

В феврале 1998 г . был предложен язык XML (Extensible Markup Language - расширяемый язык разметки). Этот язык похож на HTML тем, что для описания различных разделов документа в нем используются теги. Однако в отличие от HTML язык XML позволяет разработчикам определять собственные теги и ставить им в соответствие собственные способы воспроизведения информации. XML-дескрипторы чувствительны к регистру символов. Последняя версия Internet Explorer поддерживает XML. Что касается Netscape Navigator, то Mozilla (рабочая группа в составе Netscape) лишь экспериментирует со средствами поддержки XML.

Язык XHTML (Extensible HyperText Markup Language - расширяемый язык разметки гипертекста) - это сочетание HTML и XML. Консорциум W3C, объединяющий представителей более 500 организаций из разных стран, рекомендует использовать XHTML вместо HTML, однако на сегодняшний день большинство разработчиков остаются верными HTML.

Язык Dynamic HTML (динамический язык HTML) - это попытка объединить объектную модель документа (Document Object Model, DOM), язык javascript и каскадные листы стилей (CSS). Dynamic HTML позволяет создавать интерактивные веб-страницы с расширенной поддержкой мультимедиа. Многие средства Dynamic HTML описаны в спецификации HTML 4.01.

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

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

javascript - это язык сценариев, с помощью которого можно расширять возможности HTML-страниц. Этот язык разрабатывался корпорацией Netscape Communications для использования в веб-браузере Netscape Navigator (javascript для клиента) и веб-серверных продуктах (javascript для сервера), созданных этой корпорацией. Многие элементы этого языка, предназначенные для поддержки дополнительных функциональных возможностей статических веб-страниц, разработала фирма Sun Microsystem.

В отличие от Java-апплетов, загружаемых отдельно от HTML-документа, в котором они используются, программы, написанные на языке javascript, встраиваются непосредственно в HTML-документы с помощью парного тега .

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

VBScript - язык, который был разработан Microsoft как подмножество языка Visual Basic. VBScript создавался для работы с Internet Explorer и Microsoft Internet Information Server.

ColdFusion - это набор инструментальных средств разработки веб-приложений. Достоинством этого пакета является наличие удобных средств для работы с базами данных.

PHP - это язык сценариев, обрабатываемый сервером. Подобно ColdFusion, PHP-код непосредственно включается в состав HTML-документа. Первоначальным названием PHP

являлось Personal Home Page Tools (Персональная домашняя страница). Позднее эта технология, допускающая размещение на сервере выполняющихся скриптов веб-страниц, работающая, главным образом, на платформах Unix, Linux и Solaris, стала расшифровываться по-другому: PHP (PHP Hypertext Preprocessor).

В PHP реализованы лучшие решения многих языков, таких как C и Perl; кроме того, PHP предоставляет разработчику мощные средства для работы с базами данных.

Слово Perl является аббревиатурой выражения Practical Extraction and Report Language. Подобно Perl, PHP - свободно распространяемая открытая система, и сообщество разработчиков имеет возможность ее модернизировать.

Новой технологией для создания лучшего, удобного и более интерактивного веб-приложения, а не новым языком программирования является AJAX. AJAX - это акроним Asynchronous javascript And XML. AJAX использует javascript, чтобы посылать и получать данные между веб-браузером и веб-сервером.

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

К известным средствам разработки можно отнести также CGI (Common Gateway Interface), ASP, JSP (Java Server Pager), SSI (Server Side Includes), VRML (Virtual Reality Markup Language) и другие.

Apache - это открытый веб-сервер, наиболее часто используемый для платформ Unix, Linux и Solaris.

ASP (Active Server Pages) - технология, используемая для написания мощных клиент-серверных интернет-приложений, позволяющая создание динамических страниц HTML.

Какие программы лучше использовать для создания веб-страниц? Об этом вы можете прочитать здесь: Программы для вёрстки веб-страниц. Для редактирования изображений могут применяться программы Adobe Photoshop, Adobe Fireworks, Corel Photo-Paint, Adobe Illustrator, CorelDRAW, Adobe LiveMotion, Macromedia Flash. Для работы с аудио- и видеоданными - программы Adobe Premier, Apple Final Cut Pro, Apple Quick Time, RealProducer, Windows Media.

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

Похожие публикации