Развитие html. Язык HTML

Всем приветик. За окном у нас уже 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, чтобы понимать, как строится веб-страница.

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

World Wide Web - первая успешно реализованная сетевая технология, удобство применения привели к росту числа пользователей WWW и привлекли внимание коммерческих компаний, благодаря чему количество пользователей увеличивается геометрически и по сей день.

Одним из основных составляющих World Wide Web стал язык гипертекстовой разметки HTML , разработанный Тимом Бернерсом-Ли на основе стандарта языка разметки печатных документов -- SGML (Standard Generalised Markup Language, стандартный обобщенный язык разметки ).

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

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

Для реализации HTML документов был выбран текстовый файл, так как помимо существования стандарта Z39.50 (который подразумевал простой текстовый файл, соответствующий кодировке US ASCII, как единицу хранения), создание и редактирование такого файла возможно в любом текстовом редакторе.

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

HTML 1.0 предназначался скорее для презентации самого языка. HTML 2.0 уже определял четкую архитектуру документов. HTML++ предоставил больше возможностей для составления научных статей и формирования таблиц. HTML 3.2 собрал воедино нововведения и наработки предыдущих версий, позволил выполнять на странице написанный на Java код. В HTML 4.01 . расширены возможности работы с мультимедиа, была введена интеграция с таблицами стилей CSS, языкиами программирования JavaScript и VBScript.

Но в 1998 году язык HTML был признан устаревшим (по сравнению с XML) и W3C решили заморозить язык разметки на версии 4.01. Затем был разработан язык XHTML, сочетающий в себе структуру HTML и синтаксис XML. Были разработаны два стандарта XHTML Transitional и XHTML Strict Первый был разработан для упрощения перехода на устоявшийся стандарт XHTML strict. Затем началась работа над XHTML 2.0. При разработке данного стандарта была совершена попытка улучшить логику писания разметки.

Но команда энтузиастов из компании Opera считали, что XML (а так же XHTML 2.0) не является достойным стандартом языка разметки. Они запустили проект по разработке экспериментального стандарта, добавив расширения для форм HTML, сохраняя при этом обратную совместимость. В результате получился стандарт Web forms 2.0, который в дальнейшем вошел в состав HTML5. После присоединения к команде разработчиков сотрудников из Mozilla они продолжили работу над проектом назвав себя WHATWG (Web Hypertext Application Technology Working Group, «рабочая группа по разработке гипертекстовых приложений для Интернета» -- http://www. whatwg.org). Код данного проекта является открытым и каждый может предложить любые изменения и нововведения в спецификацию. В последствии W3C признала, что попытка перевести весь мир на XML оказалась провальной и проголосовала за использование разработки от WHATWG в качестве основной, обновленной версии HTML, и так начался процесс работы над HTML5 аналог которой параллельно разрабатывала W3C и WHATWG. В 2009 году W3C направила все доступные средства на разработку HTML5.

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

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

Давным давно, практически на заре цивилизации (до 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.

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

Перевод: Влад Мержевич

Недавно я наткнулся на цитату разработчиков Mozilla о напряженности, связанной с разработкой стандартов :

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

Держите эту цитату в глубине сознания и позвольте мне объяснить про становление HTML5.

MIME-типы

Эта книга об HTML5, а не о предыдущих версиях HTML и не о версиях XHTML. Но чтобы понять историю HTML5 и мотивацию, стоящую за ним, вы должны в первую очередь понимать несколько технических моментов. В частности, MIME-типы.

Каждый раз, когда ваш браузер запрашивает страницу, веб-сервер посылает «заголовки» перед отправкой фактического кода страницы. Эти заголовки, как правило, невидимы, хотя есть инструменты веб-разработчика, которые делают их видимыми, если вам интересно. Заголовки важны, потому что они говорят вашему браузеру, как следует интерпретировать разметку страницы. Наиболее важный заголовок называется Content-Type и выглядит так:

Content-Type: text/html

«text/html» называется «тип содержимого» или «MIME-тип» страницы. Этот заголовок определяет только, что это в действительности за ресурс и как его отображать. Изображения имеют свои собственные MIME-типы (image/jpeg для JPEG, image/png для PNG и т.д.). Файлы JavaScript имеют собственный MIME-тип. CSS имеют собственный MIME-тип. Все имеют собственный MIME-тип. Интернет работает на MIME-типах.

Конечно, в реальности все намного сложнее. Первое поколение веб-серверов (я говорю про веб-сервера с 1993 года) не посылало заголовок Content-Type, потому что его не было (он не был изобретен до 1994 года). Из соображений совместимости при возврате даты на 1993 год, некоторые популярные браузеры игнорируют заголовки Content-Type при определенных обстоятельствах (это называется «сниффинг контента»). Но, как правило, все, что вы когда-нибудь просматривали в Сети - HTML-страницы, изображения, скрипты, видео, PDF и др. - отдавалось вам с определенным MIME-типом в заголовке Content-Type.

Пока отложите вашу шляпу. Мы еще вернемся к этому.

Длинное отступление о том, как делаются стандарты

Почему мы используем элемент ? Это не тот вопрос, который вы слышите каждый день. Очевидно, кто-то его создал. Такие вещи не появляются просто ниоткуда. Каждый элемент, каждый атрибут, каждая особенность HTML, которую вы когда-либо использовали - кто-то создал их, решил, как они должны работать и написал все это. Эти люди не боги и они не безупречны. Они обычные люди. Умные люди, уверен. Но просто люди.

Одна из замечательных вещей в стандартах, разработанных «в открытую» это то, что вы можете вернуться назад во времени и ответить на разные вопросы. Обсуждения происходят через список рассылки, которые, как правило, архивируются и публично доступны. Так что я решил немного заняться «почтовой археологией», чтобы попытаться ответить на вопрос, «Почему мы используем элемент ?». Я должен вернуться назад до того, как появилась организация под названием Консорциум Всемирной паутины (World Wide Web Consortium, W3C). Я вернулся в первые дни Сети, когда количество веб-серверов можно было пересчитать по пальцам двух рук и может быть парой пальцев ног.

Есть ряд опечаток в следующих цитатах. Я решил оставить их нетронутыми для исторической точности.

Я хотел бы предложить новый дополнительный тег HTML:

Обязательный аргумент SRC="url"

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

(Здесь нет закрывающего тега, это всего лишь одиночный тег.)

Браузеры должны проявлять гибкость в отношении графических форматов, которые они поддерживают. Xbm и Xpm хорошо поддерживаются, к примеру. Если браузер не может интерпретировать данный формат, он может делать, что хочет (X Mosaic по умолчанию выведет растровое изображение в качестве заполнителя).

Это потребует функциональности для X Mosaic, у нас это работает, и мы, по крайней мере использовали это внутренне. Я, конечно, открыт для предложений, как это должно обрабатываться в HTML, если у вас есть идея получше, чем предложенная, пожалуйста, дайте мне знать. Я понимаю, туманно написал о форматах изображений, но я не вижу альтернативы, чем просто сказать «пусть браузер делает что может» и ждать идеального решения (MIME, когда-нибудь, возможно).

У меня есть нечто похожее в Midas 2.0 (используется здесь в SLAC и должен быть публичный релиз на этой неделе), за исключением, что все имена разные и есть дополнительный аргумент NAME="name". Он почти в точности имеет ту же функциональность, что и предлагаемый вами тег IMG, например.

Идея параметра name позволит браузеру устанавливать «встроенные» изображения. Если name совпадает со «встроенным» изображением, тогда оно используется вместо того, чтобы пойти и получить изображение. name также может выступать в качестве подсказки для «строчного режима» браузеров, чтобы какой-нибудь символ положить в месте изображения.

Я не очень заботился о параметрах или именах тегов, но было бы разумно, если бы использовали те же самые вещи. Я не очень забочусь о сокращениях, так что, почему не IMAGE= и не SOURCE=. Я предпочитаю все же ICON, поскольку он проще, чем IMAGE и должен быть маленьким, но, возможно, ICON перегруженное слово?

Midas другой ранний браузер, современник X Mosaic. Он кроссплатформенный и запускался на Unix и VMS. SLAC относится к Стэнфордскому центру линейного ускорителя , сейчас Национальная ускорительная лаборатория SLAC, в котором запущен первый веб-сервер США (на самом деле первый веб-сервер за пределами Европы). Когда Тони написал это сообщение, SLAC был старейшим в WWW, у которого на веб-сервере размещалось пять страниц колоссальные 441 день.

Тони продолжает:

Пока мы в теме о новых тегах, у меня есть другая идея, несколько похожий тег, который я хотел бы поддержать в Midas 2.0. В принципе так:

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

Несколько часов спустя после отправки сообщения Тони, ответил Тим Бернерс-Ли .

Я думал, что иллюстрации будут представлены так:

Иллюстрация

где значения отношений обозначают

EMBED Вставить сюда при наличии
PRESENT Показать, когда исходный документ представлен

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

[Я] вижу использование этого как метод для выбора иконки средствами вложенных ссылок. Хммм. Но я не хотел бы специальный тег.

Это предложение не было реализовано, но атрибут rel еще здесь.

Было бы хорошо, если был способ указать тип содержимого, например.

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

Это предложение не было реализовано, но Netscape позже добавил поддержку для встраивания мультимедийных объектов с элементом .

Хотя изображения находятся в верхней части моего списка желаний, посередине типов в WWW браузерах, я не думаю, что мы должны добавлять специальные хуки для медиа по одному за раз. Что случилось с энтузиазмом по использованию механизма MIME?

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

Давайте временно забудем о MIME, если это эфемерная проблема. Мое возражение было к обсуждению «как мы будем поддерживать встроенные изображения», а не «как мы будем поддерживать встроенные изображения в разных медиа».

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

Не должно быть больших расходов при переходе от чего-то обобщенного.

Оглядываясь назад, беспокойства Джея выглядят обоснованными. Потребовалось чуть больше недели, но в HTML5 наконец добавлены новые элементы и .

Отвечая на исходное сообщение Джея, Дэйв Рэгетт сказал :

Точно! Я хочу рассмотреть весь диапазон возможных изображений/линий художественных типов наряду с обсуждением формата. Тим заметил про поддержку кликабельных областей внутри изображений, это тоже важно.

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

Посмотрите другие системы, которые имеют эти (довольно ценные) понятия, Andrew и Slate. Andrew построен со _вставками_, каждая из них имеет несколько интересных типов, таких как текст, точечный рисунок, графика, анимация, сообщения, электронные таблицы и т.д. Понятие произвольное рекурсивное вложение присутствует, так что вставка любого рода может быть вложена в любой другой вид, который поддерживает вложения. Например, вставка может быть встроена в любом месте текста текстового виджета или в любой прямоугольной области виджета рисования или в любой ячейке электронной таблицы.

Вот мое мнение. Лучший способ сделать изображения в WWW это использование MIME. Я уверен, PostScript уже поддерживает подтипы в MIME, и он делает очень красиво с совмещением текста и графики.

Но это не кликабельно, вы говорите? Да, вы правы. Я подозреваю, что ответ на это уже есть в Display PostScript. Даже если не добавлено в стандартный PostScript, это тривиально. Определите команду ссылке, которая задает URL и использует текущий путь как замкнутую область для кнопки. Поскольку PostScript хорошо имеет дело с путями, создание произвольной кнопки тривиально.

Display PostScript был экранной технологией рендеринга совместно разработанной Adobe и NeXT.

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

HTTP2 позволяет документу содержать любой тип, с которым пользователь сказал, что он может работать, а не только зарегистрированные MIME-типы. Так что можно экспериментировать. Да, я думаю, есть основания для PostScript-а с гипертекстом. Я не знаю, достаточно ли Display PostScript. Я знаю, Adobe пытается создать свой собственный PostScript-ориентированный «PDF», который будет иметь ссылки и быть читаться их проприетарным просмотрщиком.

Я думаю, что общий оверлейный язык для ссылок (на основе Hytime?) позволит гипертексту и графики/видео стандартам развиваться отдельно, что поможет обоим.

Пусть тег IMG включает INCLUDE и пусть он ссылается на произвольный тип документа. Или EMBED, если INCLUDE звучит как инклюд cpp, чтобы люди могли обеспечить исходный код SGML для построчного разбора - не так, как было задумано.

Вернемся к инлайновым изображениям еще раз - я близок к выпуску Mosaic 0.10, который поддерживает изображения GIF и XBM как уже упоминалось ранее...

Мы не готовы поддержать INCLUDE/EMBED в этой точке... Так что мы, вероятно, будем идти с (не ICON, поскольку не все инлайновые изображения могут обоснованно называться иконками). В настоящее время, инлайновые изображения не будут явно содержать content-type; в будущем, мы планируем сделать поддержку этого (наряду с общей адаптацией MIME). На самом деле процедура чтения изображений, которую мы используем в настоящий момент, выясняет формат на лету, так что расширение файла не так и важно.

Непрерывная линия

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

  • HTTP по-прежнему существует. HTTP успешно развивался с 0.9 в 1.0 и позже в 1.1. И еще развивается.
  • HTML по-прежнему существует. Это элементарный формат данных - он даже не поддерживает строчные картинки! - успешно развивался в 2.0, 3.2, 4.0. HTML это непрерывная линия. Кривая, узловатая, путаная линия, будьте уверены. Существовало много «мертвых ветвей» в эволюционном дереве, мест, где стандартно мыслящие люди опередили самих себя (и превзошли авторов и исполнителей). Но тем не менее. Мы здесь в 2010 году, а веб-страницы с 1990 года по-прежнему отображаются в современных браузерах. Я только что загрузил одну в браузер моего мобильника на новейшем Андроиде и мне даже не предложили «Пожалуйста, подождите, пока импортируется устаревший формат...».
  • HTML всегда был разговором между разработчиками браузеров, авторами, зубрилами стандартов и другими людьми, которые просто пришли и хотят поговорить об угловых скобках. Большинство успешных версий HTML были «ретро-спеками», догоняющими мир и одновременно пытающими подтолкнуть его в правильном направлении. Любой, кто говорит вам, что HTML должен быть «чистым» (вероятно, игнорируя разработчиков браузеров или игнорируя авторов или и тех и других) просто дезинформирует. HTML никогда не была чистым и все попытки очистить его были впечатляющие неудачными и могут только сравниться с попытки заменить его.
  • Ни один из браузеров с 1993 года не существует в любом узнаваемом виде. Netscape Navigator был заброшен в 1998 году и переписан с нуля для создания Mozilla Suite, от которого затем отделился Firefox. Internet Explorer начинал как скромный «с чего начать» в «Microsoft Plus! для Windows 95», где он шел в комплекте с некоторыми темами рабочего стола и игрой пинбол.
  • Некоторые из операционных систем с 1993 года все еще существуют, но ни одна из них не имеет отношение к современной Сети. Большинство «опытных» людей выходят в Интернет на ПК под управлением Windows 2000 или более поздней версии, на Маках под управлением Mac OS X, ПК под управлением некоторых вкусных Linux или портативных устройствах вроде iPhone. В 1993 году Windows была в версии 3.1 (и конкурирующей с OS/2), Маки управлялись System 7, Linux распространялся через Usenet.
  • Некоторые же люди по-прежнему во всем и по-прежнему участвуют в том, что мы теперь просто называем «веб-стандарты». Вот уже почти 20 лет. И некоторые занимались предшественниками HTML, возвращаясь в 1980-е годы и раньше.
  • Говоря о предшественниках... С конечной популярностью HTML и веба легко забыть тех, образовавших дизайн современных форматов и систем. Andrew? Intermedia? HyTime? И HyTime был не каким-то допотопным исследовательским проектом, это был стандарт ISO. Он был одобрен для использования в военных целях. Это был Большой Бизнес. И вы можете прочитать об этом сами... .

Но все это не отвечает на исходный вопрос: почему мы используем элемент ? Почему не элемент ? Или элемент ? Почему не гиперссылки с атрибутом include или некоторых комбинаций значений rel? Почему элемент ? Все очень просто, потому что Марк Андрессен реализовал его и реализованный код победил.

Это не означает, что все реализованные коды победили, в конце концов, Andrew и Intermedia и HyTime тоже были реализованы. Код необходим, но не достаточен для успеха. Я, конечно, не хочу сказать, что реализация кода раньше выпуска стандарта это лучшее решение. Элемент Марка не определяет основные графические форматы; не устанавливает, как текст должен его обтекать; не поддерживает альтернативный текст или запасной контент для старых браузеров. И 17 лет спустя мы еще боремся со сниффингом контента и он по-прежнему источник сумасшедшей уязвимости безопасности . И вы можете проследить все 17 лет назад, через Великие войны браузеров , назад до 25 февраля 1993 года, когда Марк Андрессен небрежно заметил: «MIME, когда-нибудь, возможно», а затем реализовал свой код, не смотря ни на что.

Хронология развития HTML с 1997 по 2004

В декабре 1997 года, World Wide Web Consortium (W3C) опубликовал HTML 4.0 и оперативно закрыл Рабочую Группу HTML. Менее чем через два месяца, отдельная Рабочая группа W3C опубликовала XML 1.0 . Спустя три месяца после этого, люди, которые управляют W3C, провели семинар под названием «Формируя будущее HTML», чтобы ответить на вопрос: « W3C отказался от HTML?» Это был их ответ:

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

W3C перезапустил Рабочую Группу HTML на создание этого «набора XML-тегов». Их первый шаг в декабре 1998 года был проект временной спецификации, которая просто переделывала HTML в XML без добавления каких-либо новых элементов и атрибутов. Эта спецификация позже стала известна как «XHTML 1.0 ». Она определила новый MIME-тип для документов XHTML - application/xhtml+xml . Однако для облегчения миграции существующих страниц HTML4, она также включила приложение C , которое «суммирует рекомендации по проектированию для авторов, желающих, чтобы их XHTML-документы отображались на существующих пользовательских агентах HTML». Приложение C говорит вам, что позволяет автору так называемых «XHTML» страниц, по-прежнему передавать их с MIME-типом text/html .

Следующая цель была веб-формы. В августе 1999 года та же Рабочая Группа HTML опубликовала первый проект XHTML Extended Forms . Она установила ожидания в первом абзаце:

После тщательного рассмотрения, Рабочая Группа HTML постановила, что цели следующего поколения форм не совпадают с сохранением обратной совместимости с браузерами, предназначенных для ранних версий HTML. Нашей целью является обеспечение чистоты новой модели форм (XHTML Extended Forms) на основе набора четко определенных требований. Эти требования описаны в данном документе и основаны на опыте с широким спектром приложений форм.

Несколько месяцев спустя «XHTML Extended Forms» был переименован в «XForms» и переехал в свою собственную Рабочую Группу. Эта группа работала параллельно с Рабочей Группой HTML и, наконец, опубликовала первую редакцию XForms 1.0 в октябре 2003 года.

Между тем, с переходом на XML полностью, Рабочая Группа HTML нацелилась на создание «следующего поколения HTML». В мае 2001 года она опубликовала первую редакцию XHTML 1.1 , в которой добавились только несколько незначительных особенностей вверху XHTML 1.0, но и устранилась лазейка «Приложения C». Начиная с версии 1.1, все XHTML-документы должны передаваться с MIME-типом application/xhtml+xml .

Все, что вы знаете об XHTML, неверно

Почему MIME-типы так важны? Почему я продолжаю возвращаться к ним? Три слова: драконовская обработка ошибок. Браузеры всегда были «снисходительны» с HTML. Если вы создали страницу HTML, но забыли тег , браузер все равно покажет страницу (некоторые теги неявно вызывают завершение и начало ). Вы должны подразумевать иерархическую вложенность тегов - они закрываются в обратном порядке - но если вы создадите код вроде , браузеры обработают его (так или иначе) и двинутся дальше без отображения сообщения об ошибке.

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

W3C увидел в этом фундаментальную проблему с вебом и стал исправлять ее. XML, опубликованный в 1997 году, вырвался из традиции прощать клиентов и постановил, что все программы, которые потребляют XML должны рассматривать так называемые «синтаксические» ошибки как фатальные. Эта концепция провала на первой же ошибке стала известна как «драконовская обработка ошибок», подобно греческому лидеру Драконту , кто учредил смертную казнь за малейшее нарушение его законов. Когда W3C переформулировал HTML как словарь XML, он поручил, что все документы, передаваемые с новым MIME-типом application/xhtml+xml , будут зависеть от драконовской обработки ошибок. Если есть хотя бы одна ошибка синтаксиса на XHTML-странице - такая как забытый тег или неверно вложенные начальные и конечные теги - у браузеров не будет иного выбора, кроме как остановить обработку и показать сообщение об ошибке конечному пользователю.

Эта идея не везде популярна. При оценке нормы ошибок в 99% на существующих страницах, повсеместной вероятности отображения ошибок конечному пользователю и нехватки новых возможностей в XHTML 1.0 и 1.1, для оправдания затрат авторы в основном игнорируют application/xhtml+xml . Но это не означает, что они игнорировали XHTML в целом. О, определенно нет. Приложение С спецификации XHTML 1.0 дало авторам мира лазейку: «Сделайте что-то, что выглядит подобно синтаксису XHTML, но позвольте передавать это с MIME-типом text/html ». И это именно то, что тысячи веб-разработчиков сделали: они «обновились» до синтаксиса XHTML, но продолжили передавать с MIME-типом text/html .

Даже сегодня, миллионы веб-страниц претендуют на XHTML. Они начинаются с XHTML доктайпа на первой строке, используют имена тегов в нижнем регистре, кавычки вокруг атрибутов и добавляют слэш после пустых элементов вроде
и . Но только небольшая часть из этих страниц передается с MIME типом application/xhtml+xml , который включает драконовскую обработку ошибок XML. Любая страница переданная с MIME-типом text/html - независимо от доктайпа, синтаксиса или стиля кодирования - будет обрабатываться с помощью «снисходительного» анализатора HTML, молча игнорируя любые ошибки разметки и никогда не оповещая конечных пользователей (или кого-то еще) даже если страница технически нарушена.

XHTML 1.0 включил эту лазейку, но XHTML 1.1 закрыл ее, а незавершенный XHTML 2.0 продолжил традицию требования драконовской обработки ошибок. Именно поэтому есть миллиарды страниц, которые утверждают, что они XHTML 1.0 и только горстка, которые утверждают, что они XHTML 1.1 (или XHTML 2.0). Так вы действительно используете XHTML? Проверьте свой MIME-тип (на самом деле, если вы не знаете, какой MIME-тип используете, я могу почти гарантировать, что вы еще используете text/html ). Пока вы не передаете ваши страницы с MIME-типом application/xhtml+xml , ваш так называемый «XHTML» является XML только по названию.

Конкурентное видение

В июне 2004 года W3C провел семинар по Веб-приложениям и составным документам . На этом семинаре присутствовали представители трех браузеров, компании по веб-разработке и другие члены W3C. Группы заинтересованных сторон, включая Mozilla Foundation и Opera Software, рассказали о своих конкурентных видениях будущего веба: эволюция существующего стандарта HTML 4 включает новые возможности для современных разработчиков веб-приложений.

Следующие семь принципов отражают то, что мы считаем наиболее важными требованиями для этой работы.

Обратная совместимость, понятный путь миграции Технологии веб-приложений должны базироваться на технологиях знакомым авторам и включающим HTML, CSS, DOM и JavaScript. Основные характеристики веб-приложения должны выполняться с использованием поведения, скриптов и таблиц стилей в IE6 сегодня, так что авторы имеют понятный путь миграции. Любое решение, которое не может быть использовано текущим пользовательским агентом без необходимых плагинов, вероятно не может быть успешным. Обработка ошибок правильности построения Обработка ошибок в веб-приложениях должна быть определена на уровне детализации, где пользовательские агенты не должны изобретать свои собственные механизмы обработки ошибок или реверсивное проектирование других пользовательских агентов. Пользователи не должны подвергаться авторским ошибкам Спецификации должны указывать точное поведение восстановления для каждого возможного сценария ошибки. Обработка ошибок должна по большей части определяться в терминах изящного устранения ошибок (как в CSS), а не как очевидный и катастрофический сбой (как в XML). Практическое использование Каждая функция, которая идет в спецификации веб-приложения, должна быть обоснована практическим использованием. Обратное не всегда верно: каждый вариант использования не обязательно гарантирует новую функцию. Использовать аргументы предпочтительнее на базе реальных сайтов, где авторы ранее применяли плохое решение для обхода ограничения. Скрипты остаются Но их следует избегать там, где может быть использована удобная разметка. Скрипты должны быть нейтральными к устройствам и представлениям пока это возможно в конкретных устройствах (например, если они не включены в XBL). Следует избегать профиля конкретного устройства Авторы должны иметь возможность полагаться на те же функции, которые выполняются в настольных и мобильных версиях одного и того же пользовательского агента. Открытый процесс Веб принес пользу, потому что разрабатывался в открытой среде. Веб-приложения будет ядром веба и их разработчик должен пребывать в открытости. Списки рассылки, архивы и проекты спецификаций должны быть постоянно видимыми для общественности.

В неофициальном опросе участников семинара спросили: «Должен ли W3C развивать декларативное расширение HTML и CSS и обязательно дополнять DOM для решения требований среднего уровня веб-приложений, в отличие от сложных API полноценной ОС? (предложил Ян Хиксон, Opera Software)». Голосовали 11 за, 8 против. В своем резюме семинара , W3C написал: «В настоящее время W3C не намерен предоставлять любые ресурсы сторонней теме неофициального опроса: расширение HTML и CSS для веб-приложений, помимо технологий, разрабатываемых в соответствии с уставом текущей Рабочей Группы W3C».

Столкнувшись с этим решением, у людей, которые предложили развивать HTML и HTML-формы, было только два варианта: отказаться или продолжить свою работу за пределами W3C. Они выбрали последнее и зарегистрировали домен whatwg.org , так в июне 2004 года родилась WHAT Working Group .

WHAT Working Group?

Что еще за, черт побери, WHAT Working Group? Я позволю объяснить это им самим :

Рабочая группа по разработке гипертекстовых приложений для веб (WHAT Working Group) это свободное, неофициальное и открытое сотрудничество производителей браузеров и заинтересованных сторон. Группа направлена на разработку спецификаций на основе HTML и связанных с ним технологий, чтобы облегчить развертывание совместимых веб-приложений с целью предоставления результатов организации по стандартам. Это предоставление затем будет основой работы по формальному расширению HTML в курсе стандартов.

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

Ключевая фраза здесь «без нарушения обратной совместимости». XHTML (исключая лазейку Приложения C) не является обратно совместимым с HTML. Он требует совершенно новый MIME-тип, который включает драконовскую обработку ошибок для любого контента передаваемого с этим MIME-типом. XForms не совместимы с формами HTML, потому что они могут использоваться только в документах, которые передаются с новым MIME-типом XHTML, это означает, что XForms также включают драконовскую обработку ошибок. Все дороги ведут в MIME.

Вместо выбрасывания более десяти лет вложений в HTML и создания 99% существующих веб-страниц непригодными, WHAT Working Group решила принять другой подход: документированы «прощающие» алгоритмы обработки ошибок, которые фактически используется браузерами. Браузеры всегда прощают ошибки HTML, но никто никогда не удосужился написать, как именно они это сделали. NCSA Mosaic имеет свои собственные алгоритмы для работы с неправильными страницами, а Netscape пытался соответствовать им. Затем Internet Explorer пытается состязаться с Netscape. Затем Opera и Firefox пытаются состязаться с Internet Explorer. Затем Safari пытается состязаться с Firefox. И так далее, вплоть до наших дней. На этом пути разработчики сожгли тысячи и тысячи часов, пытаясь сделать свой продукт совместимым с конкурентами.

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

Пока происходило реверсивное проектирование, WHAT Working Group тихо работала над некоторыми другими вещами. Одна из них была спецификация, первоначально дублирующая Web Forms 2.0 и добавляющая новые типы полей в HTML-формы (вы узнаете больше о веб-формах в ). Другой проект спецификации называется «Web Applications 1.0», который включал много новых возможностей вроде холста для непосредственного рисования и встроенную поддержку аудио и видео без плагинов.

Назад в W3C

Два с половиной года W3C и WHAT Working Group в основном игнорировали друг друга. Хотя WHAT Working Group сосредоточила внимание на веб-формах и новых функциях HTML, Рабочая Группа W3C по HTML была занята XHTML версии 2.0. Но к октябрю 2006 года стало понятно, что WHAT Working Group подняла серьезный импульс, в то время как XHTML 2 по-прежнему томится в черновой форме и не был реализован в каком-либо серьезном браузере. В октябре 2006 года Тим Бернерс-Ли, основатель W3C, объявил, что W3C будет работать вместе с WHAT Working Group над развитием HTML.

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

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

Также будет работа с формами. Это сложная область, поскольку существующие HTML-формы и XForms являются языком форм. HTML-формы повсеместно развернуты и существует много реализаций и пользователей XForms. Между тем, WebForms подчиняются разумному расширению в HTML-формы. Планируется образовать WebForms в расширение HTML-форм.

Одной из первых вещей недавно организованной W3C HTML Working Group было решение переименовать «Web Applications 1.0» в «HTML5». И вот мы погружаемся в HTML5.

Постскриптум

В октябре 2009 года W3C закрыл Рабочую Группу XHTML 2 и выпустил заявление, объясняющее это решение:

Когда W3C анонсировал Рабочие Группы HTML и XHTML 2 в марте 2007 года, мы показали, что будем продолжать мониторинг рынка для XHTML 2. W3C признает важный четкий сигнал сообщества о будущем HTML.

Хотя мы признаем значение Рабочей Группы XHTML 2 на протяжении многих лет, после обсуждения с участниками руководство W3C решило устав Рабочей Группы, который истекает в конце 2009 года, не продлевать.

Выиграли от этого те, кто воплотил.

Урок 1

Тема: «Моя первая интернет страничка»

Что такое HTML. История создания.

Прежде чем приступить к занятиям, давайте разберемся, что же такое язык HTML и для чего он нужен? HTML (HyperText Markup Language - язык гипертекстовой разметки) предназначен для разметки и оформления документов, публикуемых в World Wide Web (WWW) или, проще сказать, HTML-документов. Под разметкой следует понимать слу­жебную информацию, которая не выводится на экран, но определяет структуру до­кумента и внешний вид его структурных единиц. Создатели позабо­тились о том, чтобы этот язык был независимым от платформы, т.е. мог работать в любых операционных средах. Основными элементами языка HTML стали дескрипторы (или тэги, tags) - операторы, названия которых заключаются в угловые скобки. Доку­менты, размеченные при помощи этого языка, визуализируются броузерами конечных пользователей в большинстве случаев одинаково благодаря тому, что "понимают" и пра­вильно обрабатывают структурные элементы языка HTML. Исходный код представляет собой текст, отформатированный с помощью дескрипторов, причем посетителю Web-страницы эти элементы не видны, а виден лишь результат их воздействия на документ.

Отцом HTML принято считать Тима Бернерса-Ли (Tim Berners-Lee), который предложил передавать информацию в Интернет в виде гипертекстовых документов с возможностью просмотра их через веб-браузер. HTML разрабатывался как уни­версальный язык, который могли бы понимать все компьютеры. HTML документ представляет собой обычный текстовый документ с включенными в него элемен­тами языка разметки. Поэтому, создать HTML документ можно используя любой текстовый редактор, например блокнот.

Особенностью языка HTML является то, что он, по сути, дает лишь рекомен­дации браузеру как интерпретировать тот или иной элемент языка. Т.е. один и тот же элемент языка может по-разному отображаться различными браузерами. К то­му же разработчики браузеров стали вводить новые элементы, которые восприни­мались только их браузерами. Так началась так называемая «война браузеров». Поэтому перед профессиональным разработчиком стоит тяжелая задача - про­фессионально сделанный сайт должен одинаково выглядеть при просмотре разны­ми типами браузеров. Для этого необходимо «тестировать» свои документы в про­цессе создания. Наиболее популярными на сегодняшний день являются браузеры Internet Explorer, Netscape Navigator, Mozilla, Opera, которые работают под опера­ционной системой Windows.

В тоже время разработчики HTML постоянно прилагают усилия направленные на достижение все большей универсальности языка. В настоящий момент за раз­витие HTML отвечает международная некоммерческая организация Консорциум World Wide Web (W3C). Консорциум разработал три версии языка HTML - HTML3.2 (принят в январе 1997), HTML4.0 (принят в декабре 1997), XHTML (принят в январе 2002).

Понравилась статья? Поделиться с друзьями: