Html история: История развития HTML • Vertex Academy
Содержание
История HTML
Свою историю 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 должна быть управляющей и направляющей, обеспечивая одинаковую форму представления информации различными браузерами. В реале с этим не все так хорошо и не всегда различные браузеры отображают одну страницу одинаково. Но это дает стимул к усовершенствованию возможностей браузера и уточнения спецификации. Этот процесс идет непрерывно.
1. История развития языка html
[Лекция | учебный год |
Лекция
2. Основы HTML.
Возможности HTML5.
В
1989 году Тим Бернерс-Ли предложил
руководству международного центра
высоких энергий (CERN) проект распределенной
гипертекстовой системы, которую он
назвал World Wide Web (WWW), Всемирная паутина.
Первоначально идея системы состояла в
том, чтобы при помощи гипертекстовой
навигационной системы объединить все
множество информационных ресурсов CERN
в единую информационную систему.
Одним
из компонентов технологии создания
распределенной гипертекстовой системы
World Wide Web стал язык гипертекстовой
разметки HTML
(HyperText
Markup
Language
– язык гипертекстовой разметки
документов), разработанный Тимом
Бернерсом-Ли на основе стандарта языка
разметки печатных документов — SGML
(Standard Generalised Markup Language, стандартный
обобщенный язык разметки). Дэниел В.
Конноли написал для него Document Type
Definition — формальное описание синтаксиса
HTML в терминах SGML.
Разработчики
HTML смогли решить две задачи:
предоставить
дизайнерам гипертекстовых баз данных
простое средство создания документов;сделать
это средство достаточно мощным, чтобы
отразить имевшиеся на тот момент
представления об интерфейсе пользователя
гипертекстовых баз данных.
Первая
задача была решена за счет выбора теговой
модели описания документа. Такая модель
широко применяется в системах подготовки
документов для печати.
Язык
НТМL
позволяет размечать электронный
документ, который отображается на экране
с полиграфическим уровнем оформления;
результирующий документ может содержать
самые разнообразные метки, иллюстрации,
аудио- и видеофрагменты и так далее. В
состав языка вошли развитые средства
для создания различных уровней заголовков,
шрифтовых выделений, различные списки,
таблицы и многое другое.
Вторым
важным моментом, повлиявшим на судьбу
HTML, стало то, что в качестве основы был
выбран обычный текстовый файл.
Таким
образом, гипертекстовая база данных в
концепции WWW
— это набор текстовых файлов, размеченных
на языке HTML, который определяет форму
представления информации (разметка) и
структуру связей между этими файлами
и другими информационными ресурсами
(гипертекстовые ссылки). Гипертекстовые
ссылки, устанавливающие связи между
текстовыми документами, постепенно
стали объединять самые различные
информационные ресурсы, в том числе
звук и видео; в результате возникло
новое понятие — гипермедиа.
Такой
подход предполагает наличие еще одного
компонента технологии — интерпретатора
языка. В World Wide Web функции интерпретатора
разделены между Web-сервером гипертекстовой
базы данных и интерфейсом пользователя.
Сервер, кроме доступа к документам и
обработки гипертекстовых ссылок,
обеспечивает предпроцессорную обработку
документов, в то время как интерфейс
пользователя осуществляет интерпретацию
конструкций языка, связанных с
представлением информации.
Версии
RFC
1866— HTML 2.0, одобренный как стандарт22
сентября1995
года;HTML
3.2 — 14
января1997
года;HTML
4.0 — 18
декабря1997 года;HTML
4.01 (изменения, причём более значительные,
чем кажется на первый взгляд) — 24
декабря1999
года;ISO/IEC
15445:2000 (так называемый ISO HTML, основан
на HTML 4.01 Strict) — 15
мая2000
года.HTML
5— в разработке. Конец разработки
запланирован на 2014 год.HTML
5.1 начал разрабатываться примерно 19
декабря 2012 года.
Официальной
спецификации HTML 1.0 не существует. До
1995 года существовало множество
неофициальных стандартов HTML. Чтобы
стандартная версия отличалась от них,
ей сразу присвоили второй номер.
Версия
3 была предложена Консорциумом
всемирной паутины(W3C) в марте 1995
года и обеспечивала много новых
возможностей, таких как создание таблиц,
«обтекание» изображений текстом и
отображение сложныхматематических
формул, поддержка gif формата. Даже при
том, что этот стандарт был совместим со
второй версией, реализация его была
сложна для браузеров того времени.
Версия 3.1 официально никогда не
предлагалась, и следующей версией
стандарта HTML стала 3.2, в которой были
опущены многие нововведения версии
3.0, но добавлены нестандартные элементы,
поддерживаемые браузерамиNetscape
NavigatorиMosaic.
В
версии HTML 4.0 произошла некоторая «очистка»
стандарта. Многие элементы были отмечены
как устаревшие и нерекомендованные
(англ.deprecated).
В частности, элемент font, используемый
для изменения свойств шрифта,
был помечен как устаревший (вместо него
рекомендуется использовать таблицы
стилейCSS).
В 1998
годуконсорциум
Всемирной паутиныначал работу
над новым языком разметки, основанном
на HTML 4, но соответствующим синтаксису
XML. Впоследствии новый язык получил
названиеXHTML.
Первая версия XHTML 1.0 одобрена в качестве
Рекомендации консорциума Всемирной
паутины26
января2000
года.
Планируемая
версия XHTML 2.0 должна была разорвать
совместимость со старыми версиями HTML
и XHTML, но 2 июля 2009 годаконсорциум
Всемирной паутиныобъявил, что
полномочия рабочей группы XHTML2 истекают
в конце2009
года. Таким образом, была приостановлена
вся дальнейшая разработка стандарта
XHTML 2.0.
В
настоящее время
Консорциум
всемирной паутины
разрабатывает
HTML
версии 5.
Черновой вариант спецификации языка
появился в Интернете
20
ноября
2007
года.
История языка HTML | HTML/xHTML
HTML является сейчас основой любой, даже самой продвинутой, технологии в Интернете.
Годом рождения данного языка принято считать 1986, когда Международная организация по стандартизации (ISO) был принят стандарт, названный SGML (Standard Generalized Markup Language). Данный язык описывали как язык для логического оформления текста, тогда не подразумевали описание внешнего вида документа. SGML даже не представлял собой готовую систему для разметки текста, он не предполагал какого-либо списка структурных элементов, которые применялись бы в определённых ситуациях. Данный язык подразумевал лишь описание синтаксиса написания основных элементов разметки текста (которые сейчас называют тегами). Это основные причины того, что язык SGML не получил значимого распространения.
Интерес к данному языку проявили в 1991 году, когда Европейский институт физики частиц ощутил потребность в передаче гипертекстовой информации по сети Интернет. В том году на основе SGML был создан новый язык — HTML (Hyper Text Markup Language). В HTML версии 1.2 присутствовало около 40 тегов, но, как и в случае с SGML, подразумевалось только логическая разметка текста. Только несколько тегов подразумевали физическую разметку веб-страниц (эти теги не рекомендовались к использованию).
В 1994 году консорциум W3C начал работу над HTML 2.0, окончательный стандарт которой был принят в 1995 году, когда уже вовсю шла разработка HTML 3.0. В HTML 2.0 появились формы — средства отправки информации от пользователя на сервер. Самым большим прорывом явился HTML 3.0. Он включил в себя такие нововведения, как теги для создания таблиц, вставки рисунков, примечаний, разметку математических формул и др. Наиболее важным нововведением явились CSS (таблицы стилей), которые позволяли задавать единый вид всему сайту. Они имели свою структуру, свой синтаксис и применялись вместе с HTML.
В 1995 году появился браузер Netscape Navigator, разработчикам которого была корпорация Netscape Communications. Эта корпорация с целью привлечь пользователей стала вводить новые теги, которые были предназначены на улучшение внешнего вида документов. Тем самым были разрушены изначальные принципы языка.
В 1996 году в свет вышел браузер Internet Explorer 2.0 (разработчик: корпорация Microsoft), но он не имел большой популярности ввиду того, что не поддерживал многих тегов, введённых Netscape. Их поддержка была введена в Internet Explorer 3.0, после выхода которого рынок браузеров был поделён пополам между Microsoft и Netscape.
В скором времени был создан HTML 3.2, который был ориентирован на Internet Explorer. Данный стандарт долгое время оставался единственным для веб-разработчиков. В 2004 году в свет вышел HTML 4.01, обеспечивающий достаточно большую кросс-браузерность. Данный стандарт и CSS сейчас применяются при создании большинства сайтов.
Html история появления и его развитие. Версии и стандарты HTML и XHTML. Краткая история языков HTML и XHTML
29.10.06
5.1K
HTML является сейчас основой любой, даже самой продвинутой, технологии в Интернете.
Годом рождения данного языка принято считать 1986, когда Международная организация по стандартизации (ISO) был принят стандарт, названный SGML (Standard Generalized Markup Language). Данный язык описывали как язык для логического оформления текста, тогда не подразумевали описание внешнего вида документа. SGML даже не представлял собой готовую систему для разметки текста, он не предполагал какого-либо списка структурных элементов, которые применялись бы в определённых ситуациях. Данный язык подразумевал лишь описание синтаксиса написания основных элементов разметки текста (которые сейчас называют тегами). Это основные причины того, что язык SGML не получил значимого распространения.
Интерес к данному языку проявили в 1991 году, когда Европейский институт физики частиц ощутил потребность в передаче гипертекстовой информации по сети Интернет. В том году на основе SGML был создан новый язык — HTML (Hyper Text Markup Language). В HTML версии 1.2 присутствовало около 40 тегов, но, как и в случае с SGML, подразумевалось только логическая разметка текста. Только несколько тегов подразумевали физическую разметку веб-страниц (эти теги не рекомендовались к использованию).
В 1994 году консорциум W3C начал работу над HTML 2.0, окончательный стандарт которой был принят в 1995 году, когда уже вовсю шла разработка HTML 3.0. В HTML 2.0 появились формы — средства отправки информации от пользователя на сервер. Самым большим прорывом явился HTML 3.0. Он включил в себя такие нововведения, как теги для создания таблиц, вставки рисунков, примечаний, разметку математических формул и др. Наиболее важным нововведением явились CSS (таблицы стилей), которые позволяли задавать единый вид всему сайту. Они имели свою структуру, свой синтаксис и применялись вместе с HTML.
В 1995 году появился браузер Netscape Navigator, разработчикам которого была корпорация Netscape Communications. Эта корпорация с целью привлечь пользователей стала вводить новые теги, которые были предназначены на улучшение внешнего вида документов. Тем самым были разрушены изначальные принципы языка.
В 1996 году в свет вышел браузер Internet Explorer 2.0 (разработчик: корпорация Microsoft), но он не имел большой популярности ввиду того, что не поддерживал многих тегов, введённых Netscape. Их поддержка была введена в Internet Explorer 3.0, после выхода которого рынок браузеров был поделён пополам между Microsoft и Netscape.
В скором времени был создан HTML 3.2, который был ориентирован на Internet Explorer. Данный стандарт долгое время оставался единственным для веб-разработчиков. В 2004 году в свет вышел HTML 4.01, обеспечивающий достаточно большую кросс-браузерность. Данный стандарт и CSS сейчас применяются при создании большинства сайтов.
Тим Бернерс-Ли
Создатель языка HTML
В этой статье о HTML
дан небольшой обзор языку, его структуре, характеристике, истории. Данная статья о языке HTML
предназначена к прочтению для общего развития и на начальном этапе изучения HTML вы можете её пропустить, а вернуться к ней позже, после прочтения .
HTML
(HyperText Markup Language)
— язык разметки гипертекста. Сайты создаются с помощью языка HTML
.
Создателем языка HTML, является выдающийся британский учёный — Тим Бернерс-Ли
.
Версии HTML
До 1995 года официального стандарта языка HTML не существовало, но было несколько не стандартизированных версий языка HTML. 22 сентября 1995 года, создали первый официальный стандарт языка HTML, он сразу получил номер 2.0 (HTML 2.0).
14 января 1997 года появилась версия HTML 3.2,
18 декабря 1997 года HTML 4.0,
24 декабря 1999 года HTML 4.01
В 00-х годах, также существовал язык разметки XHTML
(то же самое что и HTML, но с более строгим синтаксисом). XHTML предназначался для того, чтобы подготовить вебмастеров, к строгим правилам разметки языка XML
. Благодаря строгой разметке, различные программы и сервисы понимающие XML, могут эффективно обрабатывать данные на сайтах написанные на XHTML, также в этом языке появилась возможность внедрять SVG, MathML, CML и другие производные языка XML.
XHTML существовал в трёх версиях в строгой, переходной и frameset, в переходной можно было использовать устаревшие теги такие как center
или font
. На данный момент, разработку языка XHTML
закрыли.
Современной версией языка HTML, является HTML5
, именно эту версию мы и будем изучать в данном учебнике. HTML5 более удобен чем предыдущие языки и вобрал в себя все их преимущества, также в нём уделено большое значение семантике.
Язык CSS и HTML
Начиная с 4 версии языка HTML, изменять внешний вид HTML тегов рекомендуется только с помощью языка CSS. Поэтому языки HTML и CSS желательно изучать параллельно. В учебнике по HTML для начинающих мы также ознакомимся с начальными аспектами языка CSS, ну а для продолжения изучения вы можете почитать и сам
История HTML
Язык HTML был создан в 1991 году, британским учёным Тимом Бернерсом-Ли. Тогда Тим работал в CERN (Европейская организация по ядерным исследованиям) и сайтов еще не существовало. Ученые работавшие в данном центре нуждались в надежном и эффективном способе обмена информацией.
Выбор пал на язык SGML
, но он был слишком сложен и тогда Тим на основе SGML, создал упрощенную его вариацию — HTML
, благодаря чему любой ученый мог создать простой документ с информацией, обрамив её различными тегами: абзацами, заголовками, ссылками и разместить его в интернете, а другие ученые в то же время могли читать данную информацию.
Изначально в HTML-документах (на страницах сайтов), можно было размещать только текстовую информацию, возможность добавления медиафайлов: изображений, видео и аудио появилась чуть позже.
На данный момент, поддержкой и развитием языка HTML
занимается W3C
(World Wide Web Consortium)
— консорциум всемирной паутины. W3C состоит из различных рабочих групп, которые внедряют и развивают интернет стандарты и технологии.
Таблица распространения браузеров
Файлы HTML, обычно имеют расширения . html
или .htm
. Эти файлы можно просматривать с помощью интернет-браузеров.
Таблица имён браузеров и количество их распространения в мире, на январь 2016 года, в порядке уменьшения:
Браузер | Распространение |
---|---|
Google Chrome | 54,22 % |
Internet Explorer | 14,67 % |
Mozilla Firefox | 14,61 % |
Safari | 9,43 % |
Opera | 1,96 % |
Прочие | 5,11 % |
Перевод: Влад Мержевич
Недавно я наткнулся на цитату разработчиков 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 года, не продлевать.
Выиграли от этого те, кто воплотил.
HTML — язык, объединяющий всемирную сеть. Всего лишь посредством набора простых тегов, человечеству удалось создать несравнимую ни с чем по своим масштабам систему связанных между собой страниц и веб-узлов: от Amazon, eBay и Википедии, до личных блогов и сайтов, посвященных котам, похожим на Гитлера.
HTML5 — свежайшая версия этого языка. Но несмотря на то, что она собирается принести с собой значительные изменения и новые возможности, нельзя сказать, что подобное происходит впервые и до этого язык никак не развивался. Развивался и постоянно улучшался, причем с самого своего появления.
Как и всемирная сеть вообще, HTML — язык разметки гипертекста (HyperText Mark-up Language) — является детищем сэра Тима Берненс-Ли (Sir Tim Berners-Lee). В 1991 году он написал работу, озаглавленную «HTML Tags», в которой описал чуть меньше двух дюжин тегов, предложенных им для разметки веб-страниц.
Идея использовать для этого кодовые слова внутри треугольных скобок, впрочем, не принадлежит сэру Тиму. Такая система на тот момент уже существовала и использовалась в SGML (Standard Generalised Markup Language, стандартный обобщённый язык разметки), и вместо того, чтобы изобретать что-то с нуля, сэр Тим посчитал более рациональным взять за основу уже существующие решения. Аналогичный подход применялся и вообще на всем пути к HTML5 в процессах разработки.
От IEFT к W3C: дорога к HTML 4
Версии HTML 1 никогда не существовало. Первой официальной спецификацией был сразу HTML 2.0, и издала его организация IETF (Internet Engineering Task Force, Специальная комиссия интернет-разработок). Многие из возможностей языка, описанных в этой спецификации, были основаны на уже используемых сторонних разработках. Например, тег для вставки картинок на страницы был реализован в лидирующем на тот момент (мы говорим о 1994 году) браузере Mosaic, и потом просто перекочевал в стандарт для HTML 2.0.
Эстафету IEFT позже подхватил W3C (World Wide Web Consortium, Консорциум Всемирной Паутины), который и занимался всеми последующими версиями HTML. Во второй половине девяностых велась активная работа над пересмотром и изменением спецификаций, которые в конце концов (точнее, в 1999 году) дали жизнь HTML 4.01.
После этого в истории HTML наступил первый ключевой поворот.
XHTML 1: HTML в виде XML
Новая версия языка разметки после HTML 4.01 была названа XHTML 1.0. «Икс» в названии означал eXtreme, и веб-разработчики были обязаны скрещивать перед собой руки каждый раз, когда произносили это слово.
Нет, конечно нет. На самом деле «икс» означал eXtensible («расширяемый»), а скрещивание рук было по желанию.
Сама по себе спецификация для XHTML 1.0 ничем не отличалась от HTML 4.01. Не добавилось никаких новых тегов или параметров — разница была лишь в правилах синтаксиса. Если в HTML разработчикам была дана полная свобода относительно стиля написания кода, в XHTML требовалось соблюдать правила языка XML, — куда более жесткого и нетерпимого к вольностям, — на котором основывалось большинство разрабатываемых Консорциумом технологий.
Жесткие правила, впрочем, пришлись как раз кстати. Они побуждали кодеров придерживаться единого стиля, например — писать все теги и параметры исключительно в нижнем регистре, тогда как в HTML можно было делать как придется.
Выход XHTML 1.0 совпал с возросшим уровнем поддержки современными браузерами таблиц стилей — CSS, — и строгий синтаксис XHTML укрепился в сообществе разработчиков с репутацией лучшего способа написания кода разметки.
Потом был XHTML 1.1.
Если версия 1.0 была просто HTML, сделанным под XML, то XHTML 1.1 — это уже настоящий, чистый XML. В том смысле, что к нему уже нельзя было применить mime-type text/html
и нужно было обозначить документ как отформатированный в XML. Однако в том случае его никак не смог бы отобразить самый популярный на тот момент браузер — Internet Explorer, — так что применять на практике этот язык было явно не вариантом.
Создавалось впечатление, что W3C в свои разработках начинает терять связь с реальностью, по которой жила всемирная сеть.
XHTML 2: нет, это уже ни в какие ворота не лезет
Если бы герой Дастина Хоффмана из фильма «Выпускник» был веб-дизайнером, W3C сказал был ему только одно слово: XML.
Консорциум был уверен, что HTML изжил себя после четвертой версии, и начал работу над XHTML 2, задачей которого было привести сеть к светлому XML-ному будущему. И несмотря на то, что название осталось прежним, новая версия не имела абсолютно ничего общего с XHTML 1. Более того, она не собиралась быть обратно-совместимой со своими предшественниками и старыми версиями HTML (а значит — всем существующим содержимым сети). Вместо этого она должна была представить новый чистый язык, не отягощенный никакими пережитками прошлых спецификаций.
Иными словами, это был бред.
Раскол: W(HATWG) TF?
В среде Консорциума назрело восстание. Было очевидно, что он собирается вести разработку стандартов, — пусть новых, чистых и прекрасных, — но совершенно не отвечающих нуждам современного сообщества веб-дизайнеров и разработчиков. Opera, Apple и Mozilla были явно от этого не в восторге, так как ожидали совершенно другого — больше упора на форматы, позволяющие расширить возможности для создания веб-приложений.
Начало переменам было положено в 2004 году на одном из собраний. Ян Хиксон (Ian Hickson), который на тот момент был сотрудником Opera Software, выдвинул предложение заняться развитием HTML до уровня, позволяющего использовать этот язык для веб-приложений. Предложение было отклонено.
Разочарованные бунтари вынуждены были отколоться от Консорциума и организовать собственную группу: Web Hypertext Application Technology Working Group, сокращенно WHATWG.
От Web Apps 1.0 к HTML5
Принцип работы WHATWG несколько отличался от того, что был в W3C. В W3C вопросы поднимаются, обсуждается, и конечное решение выносится всеобщим голосованием. В WHATWG вопросы так же поднимаются, обсуждается, но окончательные решения относительно того, что включается в спецификацию, а что нет, остаются за главным редактором — Яном Хиксоном.
С виду может показаться, что система в W3C более демократична и честна, но практика показывает, что бесконечные споры и внутренние перебранки жутко тормозят процесс развития. В WHATWG, где каждый может внести свой вклад, но последнее слово остается за Главным, дела движутся куда быстрее. Главред, впрочем, и не обладает абсолютной
властью — избранная группа руководящих лиц может оспорить его решение в том маловероятном случае, если оно того требует.
Первоначально, WHATWG было занято двумя спецификациями — Web Forms 2.0 и Web Apps 1.0, — обе из которых должны были стать расширениями для HTML. Но со временем они были объединены в одну общую, названную просто HTML5.
Воссоединение
В то время как в WHATWG работали над HTML5, W3C продолжал канителиться со своим XHTML 2. Нельзя сказать, что вся эта затея скатывалось в говно. Она в него медленно-медленно погружалась.
В октябре 2006-го сэр Тим Бернерс-Ли признал в своем блоге, то идея перевести сеть с HTML на XML была глупой. Спустя несколько месяцев W3C выдал новую установку для HTML Working Group: было разумно решено, что будущие версии HTML следует основать на наработках WHATWG, вместо того, чтобы делать что-то с нуля.
Все эти развороты и смены курса привели к несколько запутанной ситуации. Какое-то время W3C одновременно работал над двумя совершенно несовместимыми языками разметки — XTHML 2 и HTML 5 (обратите внимание, с пробелом), — в то время как WHATWG, отдельная организация, занималась спецификацией HTML5 (без пробела), которая должна была стать основой для другой спецификации в W3C. Хрен срастишь тут, что к чему. Проще было заняться разгадкой последовательности событий в «Мементо» и работах Дэвида Линча.
XHTML мертв, да здравствует синтаксис XHTML
Ситуация начала проясняться в 2009-ом, когда W3C объявил, что обновлений по XHTML 2 больше поступать не будет. По сути, они просто официально признали, что формат был мертв с самого рождения.
Однако, странным образом, вместо того, чтобы обойтись без лишнего внимания, смерть XHTML 2 породила какие-то злорадные бурления. Противники XML превратили новость в призыв отказаться от XHTML 1, хотя с XHTML 2 тот, как мы знаем, не имел ничего общего. В свою очередь сторонники XHTML 1, адепты строгого синтаксиса, были обеспокоены тем, что HTML5 вновь узаконит небрежную верстку.
Последнее, впрочем, не должно казаться серьезной проблемой — как мы рассмотрим далее, степень сторогости синтаксиса HTML5 каждый вправе выбрать для себя самостоятельно.
Развитие HTML5
Текущее состояние HTML5 не настолько туманное как раньше, но и все еще не слишком прозрачное.
Две организации сейчас работают над этим форматом. В WHATWG разрабатывают спецификацию, основываясь на принципе «сначала запустить, потом проверять». W3C HTML Working Group в свою очередь берет эту спецификацию и пропускает ее через процесс «сначала проверить, потом запустить». Как видно, такое сотрудничество вряд ли можно назвать крепким и эффективным. Но по крайней мере, вроде как разрешился вопрос «ставить или не ставить пробел» в названии стандарта (ставить его не надо, если что, — HTML5).
Что сейчас больше всего волнует веб-дизайнеров, которые уже опробывали некоторые из возможностей нового языка, это вопрос «Когда это будет готово?» В одном из интервью Ян Хиксон упомянул 2022-ой год как дату, когда HTML5 получит статус «proposed recommendation». Это вызвало волну возмущения среди дизайнеров, так как они понятия не имели, что значит «proposed recommendation», но точно знали, что им явно не хватает пальцев посчитать, сколько лет надо еще ждать до 2022-го.
Если разобраться, возмущения необоснованы. В данном случае «proposed recommendation» означает, что к этому времени в браузерах должна быть полная поддержка всех возможностей языка. В этом случае ориентироваться на 2022 даже слишком смело; мы все знаем, что многие браузеры с трудом подхватывали в свое время даже существующие стандарты. Взять хотя бы Internet Explorer, которому понадобилось больше десяти лет, чтобы начать элементарно поддерживать тег .
Дата, на которую действительно
надо ориентироваться, это 2012 год, когда HTML5 будет присвоен статус «candidate recommendation», означающий, что спецификация окончательно сформулирована и как таковой стандарт готов.
Но, ясное дело, это не будет означать, что все из него будет сразу доступно к применению — нужно будет следить за тем, как браузеры постепенно добавляют поддержку тех или иных фич и начинать их использовать по мере появления. Точно так же было с CSS 2.1, на самом деле: мы начали применять возможности этого стандарта по мере того, как браузеры включали его поддержку по частям. Если бы мы предпочли ждать, когда они реализуют его целиком, мы бы ждали до сих пор.
Иными словами, не будет такого момента, когда можно будет сказать «Бах, время HTML5 пришло!». Но начинать работать с ними можно уже сейчас. Благо, язык этот получил рождение не через революцию, а в процессе эволюции, и основывается на том, что было создано до него. Таким образом, можно сказать, что если вы пользуетесь любыми предыдущими версиями HTML, вы уже пользуетесь HTML5.
Кто создал первую версию html. История создания и развития языка HTML. Почему отменяются определенные фичи
Основой даже самых продвинутых Интернет — технологий в настоящий момент является уже давно используемый и все же самый дискутируемый язык HTML. Язык HTML предназначен для разметки и оформления документов в Интернете. Зарождение HTML следует отнести к далекому 1986 году, когда впервые усилиями Международной организации по стандартизации (ISO) был принят ISO-8879-стандарт, названный ими «Standard Generalized Markup Language» (SGML). Данный язык тогда описывался как язык для структурной (логической) разметки текста и не подразумевал наличия хоть сколько-нибудь малого описания внешнего вида документа. Так, задать описание кегля и размера шрифта в SGML считалось противоречащим стандартам того времени, т.к. не обеспечивало кросс — браузерности и кросс — платформенности представленного в таком виде документа. А ведь основной целью создания каких — либо стандартов было достижение именно этого.Однако нужно заметить, SGML не был готовой системой для разметки текста и не предполагал наличия того или иного списка структурных элементов языка, которые должны применяться в определенных обстоятельствах. Этот язык только подразумевал описание синтаксиса написания основных элементов разметки текста, которые в последующем были названы «тэгами». Для практической же разметки документов нужно было создать язык, который описывал бы в каких случаях и какой именно элемент языка необходимо применить и который давал перечень элементов языка, которые могут быть использованы для создания документа и которые должны читаться программами, работающими с этими документами. Язык SGML не получил сколько-нибудь значимого распространения, собственно как и его приложения. Впервые о данном языке вспомнили в глобальных масштабах 1991 году, когда Европейский институт физики частиц ощутил потребность в механизме передачи гипертекстовой информации через Интернет. Тогда они выбрали в качестве основы SGML, и на его базе был создан язык. Вряд ли сейчас кто-либо не знает его названия. HTML (Hyper Text Markup Language, «язык разметки гипертекста»).
HTML версии 1.2 содержал около 40 тэгов и не подразумевал какого-либо описания физического представления документов. Все было приведено к логической и структурной разметке текста. Только несколько тэгов (кстати, не рекомендованных для использования) издали намекали на физические свойства представления страниц. В описании одного из этих тэгов было сказано: «При просмотре документа, созданного с использованием данного тэга текст может отображаться в графических браузерах полужирным курсивом».
В 1994 году был создан консорциум W3 (Ц3С), который унаследовал право главенствовать в мире Интернета от Европейского института физики частиц. Эта организация сразу же принялась за создание следующей спецификации HTML версии 2.0. но окончательный стандарт HTML 2.0 был принят только в 1995 году, когда уже полным ходом шло обсуждение и разработка HTML 3.0. Единственным существенным усовершенствованием HTML 2.0 было введение в язык форм — средств отправки информации от пользователя на сервер. Пожалуй, HTML версии 3.0 — самый большой прорыв в HTML-технологиях. Первоначальный вариант стандарта включал в себя много интересных нововведений — теги для создания таблиц, разметки математических формул, вставки обтекаемых текстом рисунков, примечаний и др. Но уже тогда в 1995 году появилась потребность в визуальном оформлении гипертекстовых страниц. Не нарушая основ HTML W3C решили создать отдельную систему для возможности описания визуального оформления HTML-документов. Так появились иерархические стилевые спецификации (Cascading Style Sheets, CSS), имеющие совершенно другую структуру, синтаксис и задачи. О нем будет сказано в следующей статье более подробно.
Вскоре (1995 год) появился первый коммерческий браузер Netscape Navigator, который привел к самому быстрому в истории человечества развитию корпорации Netscape Communications. Дабы привлечь еще и еще клиентов, которых было и так хоть отбавляй, корпорации начала вводить в HTML все новые и новые усовершенствования, которые не были отражены в стандартах W3C и поддерживались только Netscape Navigator. Вводимые все снова и снова тэги были ориентированы на улучшение внешнего вида документов и полностью нарушали изначальные принципы языка.
В 1996 году Microsoft перестал быть пассивным наблюдателем на рынке браузеров, в результате чего появился сначала Microsoft Internet Explorer 2.0, который, нужно сказать, не имел большой популярности. Позднее была создана 3-я версия этого браузера, что поделило рынок браузеров пополам между Navigator Communications и Microsoft. Microsoft взял под свою опеку W3C. В сжатые сроки был создан стандарт HTML версии 3.2, который был полностью ориентирован на Microsoft Internet Explorer.
HTML 3.2 до недавнего времени оставался единственным стандартом этого развивающегося языка WEB-строительства. Эта версия HTML навела относительный порядок в плане поддержки элементов разметки всеми браузерами.
В последние годы (2004 год) была принята последняя на настоящий момент версия HTML — HTML 4.01. Она также обеспечивает достаточно высокую кросс — браузерность и кросс — платформенность.
Нужно сказать, что в последние годы ясной становится еще одна проблема, связанная с HTML. Она заключается не столько в создании кросс — браузерности, сколько в другом. Язык HTML создавался для логической разметки гипертекста и не подразумевал какого-либо оформления документа. В нынешних условиях развития коммерческого Интернет, высокоскоростных выделенных линий и постоянного прогресса WEB-технологий необходимы новые решения, которые кроме логической разметки позволят вмешиваться в оформление документа, создавать яркие и запоминающиеся страницы в Интернет, что в корне противоречит принципам HTML. В этих условиях как никогда актуальным становится CSS, на который в настоящее время все больше и больше обращают свои взоры WEB-строители.
Видимо история HTML, полная борьбы и противоречий, по-видимому, близится к завершению. Точнее, близится к завершению история его развития, так как применяться в более или менее неизменном (и, по-видимому, близком к современному) виде он будет еще долго. В мире накоплено огромное количество ресурсов, жестко привязанных к этому языку, — а, кроме того, при всех его недостатках он сносно справляется с важнейшими из своих обязанностей. Основными же точками роста сейчас становятся другие Internet-технологии, к HTML имеющие довольно опосредованное отношение: Java, ActiveX, VRML, а в последнее время — разномастные push-технологии, которые позволят поставщикам «проталкивать» свою информацию на компьютеры пользователей на манер теле- или радиовещания.
В заключение нужно сказать, что спецификации всех версий HTML, как и CSS, любой пользователь может найти на сайте www.w3c.org.
HTML — язык, объединяющий всемирную сеть. Всего лишь посредством набора простых тегов, человечеству удалось создать несравнимую ни с чем по своим масштабам систему связанных между собой страниц и веб-узлов: от Amazon, eBay и Википедии, до личных блогов и сайтов, посвященных котам, похожим на Гитлера.
HTML5 — свежайшая версия этого языка. Но несмотря на то, что она собирается принести с собой значительные изменения и новые возможности, нельзя сказать, что подобное происходит впервые и до этого язык никак не развивался. Развивался и постоянно улучшался, причем с самого своего появления.
Как и всемирная сеть вообще, HTML — язык разметки гипертекста (HyperText Mark-up Language) — является детищем сэра Тима Берненс-Ли (Sir Tim Berners-Lee). В 1991 году он написал работу, озаглавленную «HTML Tags», в которой описал чуть меньше двух дюжин тегов, предложенных им для разметки веб-страниц.
Идея использовать для этого кодовые слова внутри треугольных скобок, впрочем, не принадлежит сэру Тиму. Такая система на тот момент уже существовала и использовалась в SGML (Standard Generalised Markup Language, стандартный обобщённый язык разметки), и вместо того, чтобы изобретать что-то с нуля, сэр Тим посчитал более рациональным взять за основу уже существующие решения. Аналогичный подход применялся и вообще на всем пути к HTML5 в процессах разработки.
От IEFT к W3C: дорога к HTML 4
Версии HTML 1 никогда не существовало. Первой официальной спецификацией был сразу HTML 2.0, и издала его организация IETF (Internet Engineering Task Force, Специальная комиссия интернет-разработок). Многие из возможностей языка, описанных в этой спецификации, были основаны на уже используемых сторонних разработках. Например, тег для вставки картинок на страницы был реализован в лидирующем на тот момент (мы говорим о 1994 году) браузере Mosaic, и потом просто перекочевал в стандарт для HTML 2.0.
Эстафету IEFT позже подхватил W3C (World Wide Web Consortium, Консорциум Всемирной Паутины), который и занимался всеми последующими версиями HTML. Во второй половине девяностых велась активная работа над пересмотром и изменением спецификаций, которые в конце концов (точнее, в 1999 году) дали жизнь HTML 4.01.
После этого в истории HTML наступил первый ключевой поворот.
XHTML 1: HTML в виде XML
Новая версия языка разметки после HTML 4.01 была названа XHTML 1.0. «Икс» в названии означал eXtreme, и веб-разработчики были обязаны скрещивать перед собой руки каждый раз, когда произносили это слово.
Нет, конечно нет. На самом деле «икс» означал eXtensible («расширяемый»), а скрещивание рук было по желанию.
Сама по себе спецификация для XHTML 1.0 ничем не отличалась от HTML 4.01. Не добавилось никаких новых тегов или параметров — разница была лишь в правилах синтаксиса. Если в HTML разработчикам была дана полная свобода относительно стиля написания кода, в XHTML требовалось соблюдать правила языка XML, — куда более жесткого и нетерпимого к вольностям, — на котором основывалось большинство разрабатываемых Консорциумом технологий.
Жесткие правила, впрочем, пришлись как раз кстати. Они побуждали кодеров придерживаться единого стиля, например — писать все теги и параметры исключительно в нижнем регистре, тогда как в HTML можно было делать как придется.
Выход XHTML 1.0 совпал с возросшим уровнем поддержки современными браузерами таблиц стилей — CSS, — и строгий синтаксис XHTML укрепился в сообществе разработчиков с репутацией лучшего способа написания кода разметки.
Потом был XHTML 1.1.
Если версия 1.0 была просто HTML, сделанным под XML, то XHTML 1.1 — это уже настоящий, чистый XML. В том смысле, что к нему уже нельзя было применить mime-type text/html
и нужно было обозначить документ как отформатированный в XML. Однако в том случае его никак не смог бы отобразить самый популярный на тот момент браузер — Internet Explorer, — так что применять на практике этот язык было явно не вариантом.
Создавалось впечатление, что W3C в свои разработках начинает терять связь с реальностью, по которой жила всемирная сеть.
XHTML 2: нет, это уже ни в какие ворота не лезет
Если бы герой Дастина Хоффмана из фильма «Выпускник» был веб-дизайнером, W3C сказал был ему только одно слово: XML.
Консорциум был уверен, что HTML изжил себя после четвертой версии, и начал работу над XHTML 2, задачей которого было привести сеть к светлому XML-ному будущему. И несмотря на то, что название осталось прежним, новая версия не имела абсолютно ничего общего с XHTML 1. Более того, она не собиралась быть обратно-совместимой со своими предшественниками и старыми версиями HTML (а значит — всем существующим содержимым сети). Вместо этого она должна была представить новый чистый язык, не отягощенный никакими пережитками прошлых спецификаций.
Иными словами, это был бред.
Раскол: W(HATWG) TF?
В среде Консорциума назрело восстание. Было очевидно, что он собирается вести разработку стандартов, — пусть новых, чистых и прекрасных, — но совершенно не отвечающих нуждам современного сообщества веб-дизайнеров и разработчиков. Opera, Apple и Mozilla были явно от этого не в восторге, так как ожидали совершенно другого — больше упора на форматы, позволяющие расширить возможности для создания веб-приложений.
Начало переменам было положено в 2004 году на одном из собраний. Ян Хиксон (Ian Hickson), который на тот момент был сотрудником Opera Software, выдвинул предложение заняться развитием HTML до уровня, позволяющего использовать этот язык для веб-приложений. Предложение было отклонено.
Разочарованные бунтари вынуждены были отколоться от Консорциума и организовать собственную группу: Web Hypertext Application Technology Working Group, сокращенно WHATWG.
От Web Apps 1.0 к HTML5
Принцип работы WHATWG несколько отличался от того, что был в W3C. В W3C вопросы поднимаются, обсуждается, и конечное решение выносится всеобщим голосованием. В WHATWG вопросы так же поднимаются, обсуждается, но окончательные решения относительно того, что включается в спецификацию, а что нет, остаются за главным редактором — Яном Хиксоном.
С виду может показаться, что система в W3C более демократична и честна, но практика показывает, что бесконечные споры и внутренние перебранки жутко тормозят процесс развития. В WHATWG, где каждый может внести свой вклад, но последнее слово остается за Главным, дела движутся куда быстрее. Главред, впрочем, и не обладает абсолютной
властью — избранная группа руководящих лиц может оспорить его решение в том маловероятном случае, если оно того требует.
Первоначально, WHATWG было занято двумя спецификациями — Web Forms 2.0 и Web Apps 1.0, — обе из которых должны были стать расширениями для HTML. Но со временем они были объединены в одну общую, названную просто HTML5.
Воссоединение
В то время как в WHATWG работали над HTML5, W3C продолжал канителиться со своим XHTML 2. Нельзя сказать, что вся эта затея скатывалось в говно. Она в него медленно-медленно погружалась.
В октябре 2006-го сэр Тим Бернерс-Ли признал в своем блоге, то идея перевести сеть с HTML на XML была глупой. Спустя несколько месяцев W3C выдал новую установку для HTML Working Group: было разумно решено, что будущие версии HTML следует основать на наработках WHATWG, вместо того, чтобы делать что-то с нуля.
Все эти развороты и смены курса привели к несколько запутанной ситуации. Какое-то время W3C одновременно работал над двумя совершенно несовместимыми языками разметки — XTHML 2 и HTML 5 (обратите внимание, с пробелом), — в то время как WHATWG, отдельная организация, занималась спецификацией HTML5 (без пробела), которая должна была стать основой для другой спецификации в W3C. Хрен срастишь тут, что к чему. Проще было заняться разгадкой последовательности событий в «Мементо» и работах Дэвида Линча.
XHTML мертв, да здравствует синтаксис XHTML
Ситуация начала проясняться в 2009-ом, когда W3C объявил, что обновлений по XHTML 2 больше поступать не будет. По сути, они просто официально признали, что формат был мертв с самого рождения.
Однако, странным образом, вместо того, чтобы обойтись без лишнего внимания, смерть XHTML 2 породила какие-то злорадные бурления. Противники XML превратили новость в призыв отказаться от XHTML 1, хотя с XHTML 2 тот, как мы знаем, не имел ничего общего. В свою очередь сторонники XHTML 1, адепты строгого синтаксиса, были обеспокоены тем, что HTML5 вновь узаконит небрежную верстку.
Последнее, впрочем, не должно казаться серьезной проблемой — как мы рассмотрим далее, степень сторогости синтаксиса HTML5 каждый вправе выбрать для себя самостоятельно.
Развитие HTML5
Текущее состояние HTML5 не настолько туманное как раньше, но и все еще не слишком прозрачное.
Две организации сейчас работают над этим форматом. В WHATWG разрабатывают спецификацию, основываясь на принципе «сначала запустить, потом проверять». W3C HTML Working Group в свою очередь берет эту спецификацию и пропускает ее через процесс «сначала проверить, потом запустить». Как видно, такое сотрудничество вряд ли можно назвать крепким и эффективным. Но по крайней мере, вроде как разрешился вопрос «ставить или не ставить пробел» в названии стандарта (ставить его не надо, если что, — HTML5).
Что сейчас больше всего волнует веб-дизайнеров, которые уже опробывали некоторые из возможностей нового языка, это вопрос «Когда это будет готово?» В одном из интервью Ян Хиксон упомянул 2022-ой год как дату, когда HTML5 получит статус «proposed recommendation». Это вызвало волну возмущения среди дизайнеров, так как они понятия не имели, что значит «proposed recommendation», но точно знали, что им явно не хватает пальцев посчитать, сколько лет надо еще ждать до 2022-го.
Если разобраться, возмущения необоснованы. В данном случае «proposed recommendation» означает, что к этому времени в браузерах должна быть полная поддержка всех возможностей языка. В этом случае ориентироваться на 2022 даже слишком смело; мы все знаем, что многие браузеры с трудом подхватывали в свое время даже существующие стандарты. Взять хотя бы Internet Explorer, которому понадобилось больше десяти лет, чтобы начать элементарно поддерживать тег .
Дата, на которую действительно
надо ориентироваться, это 2012 год, когда HTML5 будет присвоен статус «candidate recommendation», означающий, что спецификация окончательно сформулирована и как таковой стандарт готов.
Но, ясное дело, это не будет означать, что все из него будет сразу доступно к применению — нужно будет следить за тем, как браузеры постепенно добавляют поддержку тех или иных фич и начинать их использовать по мере появления. Точно так же было с CSS 2.1, на самом деле: мы начали применять возможности этого стандарта по мере того, как браузеры включали его поддержку по частям. Если бы мы предпочли ждать, когда они реализуют его целиком, мы бы ждали до сих пор.
Иными словами, не будет такого момента, когда можно будет сказать «Бах, время HTML5 пришло!». Но начинать работать с ними можно уже сейчас. Благо, язык этот получил рождение не через революцию, а в процессе эволюции, и основывается на том, что было создано до него. Таким образом, можно сказать, что если вы пользуетесь любыми предыдущими версиями HTML, вы уже пользуетесь HTML5.
Всем приветик. За окном у нас уже 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, чтобы понимать, как строится веб-страница.
Большая часть современных интернет технологий основана на давно используемом, самом дискутируемом языке HTML. Он был разработан для выполнения разметки и оформления документов, размещаемых на веб-страницах. Свои первые черты язык начал обретать в 1986 году. Толчком стало принятие Международной организацией по стандартизации (ISO) ISO-8879-стандарта — Standard Generalized Markup Language или, в сокращенном варианте — SGML. К нему прилагалось описание, в котором говорилось о том, что SGML предназначен для структурной разметки текста. Примечательно, что описания внешнего вида документа не предполагалось.
Исходя из этого, можно сделать вывод о том, что SGML не являлся системой для разметки текста и не располагал какого-либо списка структурных элементов языка, используемых в определенных условиях. Язык подразумевал описание синтаксиса написания главных элементов разметки. Спустя некоторое время они получили, хорошо известное сегодня название — «теги».
Вполне очевидной была потребность в создании языка, который:
- Описывал какой элемент в каких случаях разумно применить
- Содержал перечень элементов, с помощью которых можно создать документ, читаемый разными программами
Несмотря на то, что язык SGML, как и его схожие приложения, не получил особого развития, он и не был окончательно забыт. В 1991 году Европейский институт физики частиц объявил о необходимости разработки механизма, позволяющего передавать гипертекстовую информацию через Глобальную сеть. Именно SGML лег в основу будущего языка — Hyper Text Markup Language (HTML).
Этапы становления.
Около сорока тегов содержал HTML версии 1.2. Описания физического представления документов также не имелось. Как и его прародитель — SGML, он был преимущественно ориентирован на логическую и структурную разметку текста. Впрочем, некий намек на то, как будет физически представлена страница, ряд тегов все же делал.
Разработкой HTML версии 2.0 занялся консорциум W3С. Первый результат удалось получить, спустя год насыщенной работы — в 1995 году. Практически параллельно обсуждались возможности версии 3.0. Если вторую версию нельзя назвать существенно отличающейся от первой, то третья стала безусловным прорывом.
HTML 3.0 включал интересные новинки:
- Разметку математических формул
- Теги для создания страниц
- Вставку рисунков, обтекаемых текстом
- Примечаний и т.д.
Однако, этого было недостаточно, потребность в визуальном оформлении гипертекстовых страниц становилась все более актуальной. Тогда, W3С приступили к созданию самостоятельной системы, при этом не противоречащей основам HTML, но позволяющей описывать визуальное оформление документов. Результатом стало появление CSS — Cascading Style Sheets, иерархические стилевые спецификации, наделенные уникальным синтаксисом, структурой, задачами.
Но, не будем забегать вперед, и вернемся к HTML. Существенное расширение тегов произошло с подачи Netscape Communications — корпорации, запустившей первый коммерческий браузер — Netscape Navigator. Нововведения преследовали лишь одну цель — улучшить внешний вид документа, но при этом они совершенно противоречили исконным принципам языка.
HTML версии 3.2 создали в кратчайшие сроки. Он был ориентирован на Microsoft Internet Explorer. До недавнего времени эта версия HTML была единственным стандартом языка при . Тем не менее, направление развивается очень активно, с помощью HTML удалось придать некую упорядоченность элементам разметки всех браузеров, но возможностей языка становилось недостаточно.
В 2004 году приняли новую версию HTML — 4.01. Он обеспечивает отличные показатели кросс — браузерности и кросс — платформенности.
Почему же сегодня все чаще используется CSS? Потому что HTML, не смотря на свои существенно расширившиеся с момента создания возможности, остается языком логической разметки гипертекста, т.е. не связан с оформлением документа. Современные стандарты интернета подразумевают создание ярких и запоминающихся страниц, поэтому веб-мастера все чаще используют CSS. Можно ли ставить точку в истории HTML? Ответ на этот вопрос будет, скорее положительным, но полностью язык не исчезнет, т.к. он лежит в основе многих других систем.
Краткая история HTML | Мир ПК
Необычайно интересно проследить историю развития этого языка — историю, в которой столкнулись противоположные подходы к проблеме компьютерного представления текста и которая послужила ареной сотрудничества и противоборства крупнейших компьютерных компаний, определяющих пути развития и будущее Internet.
В начале был SGML
Начало истории HTML следует отнести к далекому 1986 году, когда Международная организация по стандартизации (ISO) приняла стандарт ISO-8879, озаглавленный «Standard Generalized Markup Language (SGML)». Стандарт этот посвящен описанию SGML — обобщенного метаязыка, позволяющего строить системы логической, структурной разметки любых разновидностей текстов. Слово «структурная» означает, что управляющие коды, вносимые в текст при такой разметке, не несут никакой информации о внешнем виде документа, а лишь указывают границы и соподчинение его составных частей — т. е. задают его логическую структуру.
Создатели SGML стремились максимально абстрагироваться от проблем представления электронного текста в разных программах, на разных компьютерных платформах и устройствах вывода. Так, если с помощью SGML размечается документ, содержащий заголовки, идеология языка запрещает указывать, что такой-то заголовок должен набираться, скажем, шрифтом Times полужирного начертания кегля 12 пунктов. SGML в таком случае требует ограничиться указанием на уровень заголовка и его место в иерархической структуре документа.
Благодаря таким ограничениям размеченный текст сможет без труда интерпретировать любая программа, работающая с любым мыслимым устройством вывода. К примеру, при работе в графическом интерфейсе заголовок может действительно выводиться полужирным шрифтом повышенного кегля; программа, использующая текстовый интерфейс, выделит его пустой строкой сверху и снизу и, возможно, повышенной яркостью символов; синтезатор речи, читающий документ вслух, сможет отметить заголовок паузой и изменением интонации. Можно сказать, что SGML-разметка обнажает нематериальную «душу» текста, для которой впоследствии любая программа-интерпретатор сможет подобрать подходящее к случаю «тело».
Однако абстрактность SGML этим не исчерпывается. SGML представляет собой не готовую систему разметки текста, а лишь удобный метаязык, позволяющий строить такие системы для конкретных обстоятельств. Жизнь многообразна и непредсказуема: сегодня вам требуется выделять в текстах заголовки, а завтра, возможно, понадобится размечать подписи в письмах, математические формулы или имена действующих лиц в пьесе. Стандарт SGML определяет лишь синтаксис записи элементов разметки — тегов — и их атрибутов, а также правила определения новых тегов и указания структурных отношений между ними. Для практической же разметки документов нужно приложение SGML — набор определенных в соответствии со стандартом тегов, представляющий собой, по сути, формальное описание структуры документа.
Золотой век
Язык SGML — это типичное детище академической науки, изящная игрушка теоретиков. Его создание не было вызвано насущной практической необходимостью. Принципы, на которых строится этот язык, значительны и интересны; несомненно, идеология SGML оказала влияние на многие компьютерные разработки. Однако сам по себе SGML не получил сколько-нибудь заметного распространения — до тех пор, пока в 1991 г. сотрудники Европейского института физики частиц (CERN, http://www.cern.ch), занятые созданием системы передачи гипертекстовой информации через Internet, не выбрали SGML в качестве основы для нового языка разметки гипертекстовых документов. Этот язык — самое известное из приложений SGML — был назван HTML (HyperText Markup Language, «язык разметки гипертекста»).
Изначально HTML, как и положено SGML-приложению, разделял все особенности идеологии SGML. Из сорока с небольшим тегов HTML версии 1.2 (датированной июнем 1993 г.) всего три, да к тому же и не рекомендованных к использованию, тега осмеливались намекать на физические параметры представления документа. Вся разметка была чисто логической, и лишь в описательной части стандарта, сопровождающей формальное определение тегов, можно было прочесть что-нибудь вроде «в графических браузерах действие этого тега может передаваться курсивным начертанием».
А первым (и долгое время единственным) графическим браузером в те далекие времена была программа Mosaic, разработанная, как и собственно WWW, в научном учреждении — Национальном центре суперкомпьютерных приложений США (National Center for Supercomputer Applications, NCSA; http://www.ncsa.uiuc.edu).
Так что нет ничего удивительного в том, что в этот «золотой век»
никаких противоречий между официальными стандартами и их реализацией в
браузерах еще не существовало. HTML неторопливо развивался, оставаясь в
рамках парадигмы структурной разметки, и в апреле 1994 г. началась подготовка
спецификации следующей версии языка — 2.0. Этим занимался образованный
в том же году Консорциум W3 (W3 Consortium, сокращенно W3C; http://www.w3.org/pub/WWW), унаследовавший от CERN верховную власть и авторитет в мире WWW.
В настоящий момент консорциум, имеющий статус «международной некоммерческой организации», объединяет свыше 150 организаций-членов, в том числе фирмы Netscape, Microsoft и множество других. Однако в 1994-1995 гг. его членами были почти исключительно университеты и научные учреждения. Столь «академический» состав W3C сказывался как на самих документах, публикуемых консорциумом, так и на процедуре (и особенно на сроках) их принятия. Достаточно сказать, что окончательный вариант HTML 2.0 (http://ds.internic.net/rfc/rfc1866.txt), единственным серьезным усовершенствованием в котором был механизм бланков (форм) для отсылки информации с компьютера пользователя на сервер, был официально утвержден лишь в сентябре 1995 г., когда в W3C уже полным ходом шло обсуждение HTML 3 (или, как его называли поначалу, «HTML+»).
Стили
Пожалуй, проект HTML 3 (http://www.w3.org/pub/WWW/MarkUp/html3/) — самая яркая и неоднозначная страница в истории языка. Работа над ним началась в марте 1995 г., и первоначальный вариант стандарта включал в себя много интересных нововведений — теги для создания таблиц, разметки математических формул, вставки обтекаемых текстом рисунков, примечаний и др. Но самое главное — HTML 3.0 был попыткой разрешить уже достаточно очевидное к тому времени противоречие между идеологией структурной разметки и потребностями пользователей, заинтересованных в первую очередь в гибких и богатых возможностях визуального представления.
Чтобы разрешить это противоречие, не оскверняя заветов отцов-основателей HTML, авторы версии 3 ввели в ней поддержку нового средства — так называемых иерархических стилевых спецификаций (Cascading Style Sheets, CSS; http://www.w3.org/pub/WWW/TR/REC-CSS1). Система CSS формально независима от HTML, имеет совершенно иной синтаксис (более того, HTML 3 можно стыковать с разными реализациями CSS, обладающими разным синтаксисом и возможностями), не наследует никаких идеологических ограничений и позволяет, уже в совершенно иных терминах, задавать параметры визуального представления для любого тега HTML. С помощью CSS автор может наконец с чистой совестью указать, каким шрифтом какого кегля набирать заголовки такого-то уровня. И, что самое важное, достигнуто это было не введением новых тегов, а разработкой механизма, позволяющего влиять на интерпретацию уже существующих тегов логической разметки, причем с учетом контекста их употребления. Браузеры с текстовым интерфейсом или с синтезатором речи смогут с легкостью проигнорировать эту дополнительную информацию и использовать для оформления свои обычные средства.
Слово cascading в названии системы CSS служит напоминанием о том, что в действительности на вывод каждого тега в документе могут оказывать влияние сразу несколько стилевых спецификаций, образующих иерархическую систему: например, поверх спецификаций, относящихся к конкретному документу, может действовать стилевой файл, общий для всех документов на сервере. Кроме того, пользователь браузера, поддерживающего CSS, может указать свои собственные параметры вывода для тех или иных тегов. Конфликты, которые при этом возникают, разрешаются в пользу более частных, узких спецификаций: то, что указано для конкретного документа, берет верх над спецификациями для всего сервера, а параметры вывода тега в данном контексте имеют преимущество перед параметрами для того же тега «вообще», без учета контекста. В случае же конфликта спецификаций, заданных пользователем, с установками автора страницы побеждают последние, хотя пользователь может при желании изменить эту ситуацию на обратную.
Нет сомнения, что CSS — почти идеальное средство избавить HTML от наследственных недостатков и перевести его развитие на принципиально новые рельсы. Тем досаднее то, как сложилась судьба этого замечательного изобретения. Поскольку спецификацию CSS увязали с другими нововведениями HTML 3, W3C долго не утверждал ее в качестве официального стандарта; задерживалось и доведение CSS до более или менее завершенного вида, при котором стала бы возможной ее реализация в коммерческих продуктах.
Идолы рынка
А между тем коммерческое освоение WWW не заставило себя долго ждать. В начале 1994 г. группа разработчиков браузера Mosaic под предводительством Джеймса Кларка, который за несколько лет до того создал и «вывел в люди» компанию Silicon Graphics, основала корпорацию Netscape Communications и вскоре выпустила первую версию коммерческого браузера Netscape Navigator. Вскоре после этого начался экспоненциальный рост WWW, продолжающийся по сей день. Не менее впечатляющие темпы показала при этом и Netscape, которая в конце 1995 г. объявила, что достигнутые результаты делают ее самой быстрорастущей компанией в мировой истории (!). Чтобы закрепить лидерство (на которое, впрочем, тогда еще мало кто покушался) и привлечь новых пользователей, Netscape, увы, вводила в HTML все новые и новые усовершенствования, — и эти усовершенствования поддерживались только браузером Netscape Navigator.
Практически все новые теги, в изобилии предлагавшиеся Netscape, были направлены на улучшение внешнего вида документа и расширение возможностей его форматирования. Причины этого понятны: чтобы убедить, скажем, бизнесмена, что ему пора обратить внимание на новое средство коммуникации и рекламы, прежде всего нужно показать ему это средство в привлекательном, «товарном» виде. Поставив себе целью завоевание корпоративного рынка, разработчики Netscape не могли (да и не хотели, по-видимому) уделять должное внимание сложившимся традициям развития языка. В результате тот вариант HTML, который поддерживала выпущенная в январе 1996 г. версия Netscape Navigator 2.0, представлял собой довольно странную смесь старых логических тегов с беззастенчиво вломившимися новыми, ориентированными на графическое экранное представление документа и затрудняющими его воспроизведение на других устройствах вывода.
Такая политика компании, с одной стороны, принесла ей быстрый и впечатляющий успех (одно время версии Netscape Navigator составляли более 90% всех используемых браузеров), а с другой — вызвала ожесточенное сопротивление наиболее сознательной части HTML-сообщества. Энтузиасты неустанно разъясняли каждому, кто согласен был их слушать, что HTML по природе своей не имеет права зависеть от какого-то конкретного браузера и что заявления типа «эту страницу лучше всего смотреть в Netscape Navigator» являются насмешкой над здравым смыслом. Движение «борцов за чистоту HTML» существует и сейчас, однако ощутимого влияния не имеет.
Многие Web-дизайнеры, даже признавая справедливость аргументации «HTML-пуристов», считают использование новых тегов практически оправданным. Неудобства при этом будут испытывать лишь несколько процентов пользователей других браузеров, для которых страницы с этими тегами будут выглядеть совсем не так, как задумал автор (хотя текст в большинстве случаев все равно останется читабельным). Вероятно, аргументы противников Netscape звучали бы более убедительно, если бы сам по себе «официальный» HTML не был столь неимоверно беден изобразительными возможностями. Меня, к примеру, пробирает дрожь при мысли, что для миллионов страниц в современной «паутине», путешествие по которой способно порой принести подлинное эстетическое наслаждение, были бы доступны лишь возможности HTML 2.0.
Помимо использования «плохих» Netscape-ориентированных тегов, широко распространена также практика «злоупотребления» средствами HTML ради сопутствующих им визуальных эффектов. Скажем, вместо того чтобы использовать тег
только для оформления настоящих («логических») таблиц, Web-дизайнеры сплошь и рядом применяют таблицы без рамок для управления размещением обычного текста и иллюстраций, регулируют с их помощью ширину полей и т. п. Нет нужды объяснять, что оформление в виде таблицы того, что по сути своей таблицей совсем не является, есть прямое нарушение идеологии структурной разметки. «Борцы за чистоту HTML» сломали немало копий, доказывая недопустимость этого и многих других дизайнерских приемов. Но времена постепенно меняются, и теперь любой желающий может увидеть пример такого «злоупотребления» прямо на заглавной странице сервера W3C (http://www.w3.org/pub/WWW). |
Те же и Microsoft
В конце 1995 г. ситуация в мире HTML была довольно смутной. Популярность браузера Netscape неуклонно росла; программисты этой фирмы готовили к выпуску версию 2.0, которая должна была утвердить господство Netscape на вечные времена благодаря неслыханному набору новшеств, таких как интерфейс подключаемых модулей, поддержка языка Java, встроенный язык сценариев JavaScript, возможность разбивки окна на кадры (frames) и многое другое. К этому времени W3C окончательно завяз в своем проекте HTML 3, который был слишком сильно оторван от реального мира и на завершение которого у консорциума попросту не хватало ни сил, ни средств. HTML 3 по сравнению с HTML 2.0 был важным шагом вперед, однако он развивался по-прежнему в рамках идеологии структурной разметки, а инструмент, дающий возможность выйти за эти рамки, — система CSS — был еще далек от завершения.
В этот переломный момент в игру вступил новый участник — всемогущая корпорация Microsoft. Долгое время эта компания, привыкшая монопольно владеть своим сектором рынка, недооценивала перспективы Internet и не собиралась как-либо участвовать в развитии этой информационной среды, считая ее, по-видимому, слишком демократичной и непредсказуемой. Однако невероятный взлет Netscape (число копий браузера Navigator измерялось к этому времени уже десятками миллионов) заставил Microsoft изменить мнение.
И именно на браузерном фронте, где господство Netscape оставляло меньше всего шансов конкурентам, корпорация Microsoft нанесла свой главный удар. Поначалу мало кто верил, что браузер Microsoft Internet Explorer, который тогда существовал в версии 2.0 и не представлял собой ничего выдающегося, сможет составить конкуренцию Netscape. Тем не менее выпущенная летом 1996 г. версия Internet Explorer 3.0, которая поддерживала почти все расширения Netscape и обладала оригинальным и привлекательным интерфейсом, вызвала настоящий бум и очень быстро утвердилась в качестве «второго главного браузера». Сейчас Microsoft и Netscape делят рынок браузеров почти поровну, и окончательный исход их битвы не берется предсказать никто.
Одновременно с разработкой конкурентоспособного браузера Microsoft решила «навести порядок» и в мире HTML. Взяв под свою опеку W3C, она напитала его денежными и людскими ресурсами и тем самым заработала право едва ли не решающего голоса в этой организации. Проект HTML 3 был заморожен, а вместо него в сжатые сроки создан стандарт HTML 3.2, который, по сути, всего лишь описывает большинство расширений Netscape (с тем же успехом их можно назвать теперь «расширениями Microsoft»). Пройдя обычный в W3C процесс обсуждения и внесения поправок, спецификация HTML 3.2 (http://www.w3.org/pub/WWW/TR/REC-html32.html) была утверждена совсем недавно (в январе этого года) и является, таким образом, последним на настоящий момент официальным стандартом языка. Спираль развития HTML завершила свой первый виток — как и в «золотой век», расхождения между предписаниями стандарта и реализацией HTML в браузерах вновь сведены к минимуму.
Однако HTML сегодня уже совсем не тот, что три года назад. Становится все более очевидным, что язык этот в его теперешнем состоянии практически исчерпал перспективы развития и что добавление новых тегов вряд ли выведет его на принципиально иной уровень. Это особенно понятно тем, кто занимается практическим дизайном: из-за того, что HTML с самого начала не ориентировался на описание внешнего вида документа, он не в состоянии удовлетворительно выполнить эту задачу даже сейчас, при наличии множества визуально-ориентированных тегов. Прямым следствием этого является огромное количество расхождений в интерпретации тегов браузерами. Как бы строго вы ни следовали стандарту, HTML-файл приходится обязательно тестировать по меньшей мере в двух браузерах — Netscape Navigator и Internet Explorer, и чаще всего такое тестирование не обходится без неприятных сюрпризов: отступы, пробелы, размеры элементов оформления и логика их размещения на странице даже для простейших тегов различаются довольно сильно.
Пожалуй, главный вклад Microsoft в развитие HTML (помимо новых тегов, число которых сравнительно невелико) состоит в том, что Microsoft Internet Explorer 3.0 стал — наконец-то — первым массовым браузером, поддерживающим стилевые спецификации (CSS). И хотя эта реализация CSS является несовершенной и далеко не полной, хочется надеяться, что она поможет сдвинуть с мертвой точки процесс массового освоения CSS. В частности, поддержка этого стандарта появится в Netscape Navigator 4.0 (который на момент написания этой статьи существует только в ранней бета-версии).
Что дальше?
С того момента, когда почти одновременно летом 1996 г. Netscape и Microsoft выпустили версии 3.0 своих браузеров, сетевое сообщество живет в постоянном напряжении и неопределенности. Несколькими ловкими ударами поставив свой браузер на один уровень с казавшимся некогда непобедимым Netscape, корпорация Microsoft, очевидно, не собирается останавливаться на достигнутом. Но еще интереснее то, что Microsoft не без успеха создает для себя новый имидж — компании, поддерживающей независимые организации типа W3C и заботящейся об авторитете официальных стандартов не меньше, чем о своей выгоде. На этом фоне Netscape, еще недавно имевшая репутацию главного генератора идей и технологического локомотива всей Internet-индустрии, начинает казаться слишком закрытой, негибкой и эгоистичной в своих намерениях.
Что же касается языка HTML, то его история, полная борьбы и противоречий, по-видимому, близится к завершению. Точнее, близится к завершению история его развития, так как применяться в более или менее неизменном (и, по-видимому, близком к современному) виде он будет еще долго. В мире накоплено огромное количество ресурсов, жестко привязанных к этому языку, — а кроме того, при всех его недостатках он сносно справляется с важнейшими из своих обязанностей. Основными же точками роста сейчас становятся другие Internet-технологии, к HTML имеющие довольно опосредованное отношение: Java, ActiveX, VRML, а в последнее время — разномастные push-технологии, которые позволят поставщикам «проталкивать» свою информацию на компьютеры пользователей на манер теле- или радиовещания.
Компания же Netscape, похоже, все еще не может перестроиться и по старой памяти плодит все новые и новые расширения HTML (полный отчет о «теготворчестве» этой фирмы вы найдете по адресу http://developer.netscape.com/library/documentation/htmlguid/tags_complete.html).
Так, в последней, четвертой, версии браузера Navigator (точнее, теперь
уже пакета Communicator) появился новый тег , который, в сочетании
с языком сценариев JavaScript, позволяет строить «многоэтажные»
страницы с накладывающимися друг на друга и даже движущимися слоями текстов
и изображений. Скорее всего, большого успеха это нововведение иметь не
будет, тем более что одно из предложенных W3C расширений CSS (см. http://www.w3.org/pub/WWW/TR/WD-positioning) предоставляет схожие возможности.
Саму же систему CSS разработчики Netscape также планируют увязать с JavaScript; комбинация эта носит название JavaScript Style Sheets, сокращенно JSSS (см. http://developer.netscape.com/library/documentation/jsstyles.html). К счастью, насколько можно судить по имеющейся документации, JSSS является строгим надмножеством CSS и потому не представляет угрозы для совместимости со стандартом и с другими реализациями CSS. Очевидно, что до тех пор, пока все распространенные браузеры не будут иметь полной поддержки CSS, мастерство Web-дизайна будет, как и сейчас, состоять по большей части в умении получать те или иные оформительские эффекты с помощью такого мало приспособленного для этого средства, как HTML.
Дмитрий Кирсанов — автор двух книг и ряда статей по компьютерной тематике
e-mail: [email protected]
WWW: http://www.symbol.ru/dk.
День народного единства в России: история праздника
4 ноября в России отмечается День народного единства. Праздник был учрежден Федеральным Законом «О внесении в статью 1 Федерального закона «О днях воинской славы (победных днях) России», подписанным в декабре 2004 года президентом России Владимиром Путиным.
Впервые в России этот новый всенародный праздник отмечался 4 ноября 2005 года.
День народного единства был учрежден в память о событиях 1612 года, когда народное ополчение под предводительством Кузьмы Минина и Дмитрия Пожарского освободило Москву от польских интервентов. Исторически этот праздник связан с окончанием Смутного времени в России в XVII веке. Смутное время — период со смерти в 1584 году царя Ивана Грозного и до 1613 года, когда на русском престоле воцарился первый из династии Романовых, — было эпохой глубокого кризиса Московского государства, вызванного пресечением царской династии Рюриковичей. Династический кризис вскоре перерос в национально-государственный. Единое русское государство распалось, появились многочисленные самозванцы. Повсеместные грабежи, разбой, воровство, мздоимство, повальное пьянство поразили страну.
Многим современникам Смуты казалось, что произошло окончательное разорение «пресветлого московского царства». Власть в Москве узурпировала «семибоярщина» во главе с князем Федором Мстиславским, пустившая в Кремль польские войска с намерением посадить на русский престол католического королевича Владислава.
В это тяжелое для России время патриарх Гермоген призвал русский народ встать на защиту православия и изгнать польских захватчиков из Москвы. «Пора положить душу свою за Дом Пресвятой Богородицы!» — писал патриарх. Его призыв был подхвачен русскими людьми. Началось широкое патриотическое движение за освобождение столицы от поляков. Первое народное (земское) ополчение возглавил рязанский воевода Прокопий Ляпунов. Но из-за распрей между дворянами и казаками, которые по ложному обвинению убили воеводу, ополчение распалось. Преждевременно начавшееся в Москве 19 марта 1611 года антипольское восстание потерпело поражение.
В сентябре 1611 года «торговый человек», нижегородский земский староста Кузьма Минин обратился к горожанам с призывом создать народное ополчение. На городской сходке он произнес свою знаменитую речь: «Православные люди, похотим помочь Московскому государству, не пожалеем животов наших, да не токмо животов — дворы свои продадим, жен, детей заложим и будем бить челом, чтобы кто-нибудь стал у нас начальником. И какая хвала будет всем нам от Русской земли, что от такого малого города, как наш, произойдет такое великое дело».
По призыву Минина горожане добровольно давали на создание земского ополчения «третью деньгу». Но добровольных взносов было недостаточно. Поэтому был объявлен принудительный сбор «пятой деньги»: каждый должен был внести в казну ополчения пятую часть своих доходов на жалованье служилым людям.
По предложению Минина на пост главного воеводы был приглашен 30-летний новгородский князь Дмитрий Пожарский. Пожарский не сразу принял предложение, согласился быть воеводой при условии, что горожане сами выберут ему помощника, который начальствовал бы над казной ополчения. И Минин стал «выборным человеком всею землею». Так во главе второго земского ополчения стали два человека, избранные народом и облеченные его полным доверием.
Под знамена Пожарского и Минина собралось огромное по тому времени войско — более 10 тысяч служилых поместных людей, до трех тысяч казаков, более тысячи стрельцов и множество «даточных людей» из крестьян.
Краткая история HTML
1993 — настоящее время
Первая версия HTML была написана Тимом Бернерсом-Ли в 1993 году. С тех пор появилось много разных версий HTML. Наиболее широко используемой версией на протяжении 2000-х годов была HTML 4.01 , которая стала официальным стандартом в декабре 1999 года.
Другая версия, XHTML , была переработкой HTML как языка XML. XML — это стандартный язык разметки, который используется для создания других языков разметки.Сегодня используются сотни языков XML, включая GML (язык географической разметки), MathML, MusicML и RSS (действительно простое распространение). Поскольку каждый из этих языков был написан на общем языке (XML), их содержимое можно легко совместно использовать в приложениях. Это делает XML потенциально очень мощным, и неудивительно, что W3C создал XML-версию HTML (опять же, называемую XHTML). XHTML стал официальным стандартом в 2000 году и был обновлен в 2002 году. XHTML очень похож на HTML, но имеет более строгие правила.Строгие правила необходимы для всех языков XML, потому что без них взаимодействие между приложениями было бы невозможно. Вы узнаете больше о различиях между HTML и XHTML в Блоке 2.
Большинство страниц в Интернете сегодня были созданы с использованием HTML 4.01 или XHTML 1.0. Однако в последние годы W3C (в сотрудничестве с другой организацией, WHATWG) работает над совершенно новой версией HTML, HTML5 . В настоящее время (2011 г.) HTML5 все еще является черновиком спецификации и еще не является официальным стандартом.Однако он уже широко поддерживается браузерами и другими устройствами с доступом в Интернет, и это путь будущего. Таким образом, HTML5 является основным языком, изучаемым в этом курсе .
Примеры типов контента, который может быть включен на веб-страницы
В следующей таблице показан список многих типов содержимого, которое можно добавить на веб-страницы с помощью различных версий HTML. В первые дни Интернета HTML (версия 1.2) был очень простым, но со временем были выпущены новые версии, которые добавляли все больше и больше функций.Тем не менее, если веб-дизайнеры хотели добавить контент или функции, которые не поддерживал HTML, им пришлось бы делать это с помощью нестандартных проприетарных технологий, таких как Adobe Flash. Эти технологии потребовали бы от пользователей установки подключаемых модулей браузера, а в некоторых случаях означало, что определенные пользователи не могли получить доступ к контенту (например, iPhone и iPad не поддерживают Flash).
В
HTML5 добавлена поддержка многих новых функций, которые позволят делать больше с HTML, не полагаясь на нестандартные проприетарные технологии.
Тип содержания | HTML 1.2 | HTML 4.01 | HTML5 | Назначение |
---|---|---|---|---|
Товарная позиция | Есть | Есть | Есть | Организуйте содержимое страницы, добавляя заголовки и подзаголовки вверху каждого раздела страницы |
Пункт | Есть | Есть | Есть | Определить абзацы текста |
Адрес | Есть | Есть | Есть | Определите блок текста, который содержит контактную информацию |
Якорь | Есть | Есть | Есть | Ссылка на другой веб-контент |
Список | Есть | Есть | Есть | Организовать элементы в список |
Изображение | Есть | Есть | Есть | Вставить фотографию или рисунок на веб-страницу |
Стол | Нет | Есть | Есть | Организовать данные в строки и столбцы |
Стиль | Нет | Есть | Есть | Добавить CSS для управления представлением объектов на веб-странице |
Скрипт | Нет | Есть | Есть | Добавить Javascript, чтобы страницы реагировали на поведение пользователя (более интерактивно) |
Аудио | Нет | Нет | Есть | Добавить аудио на веб-страницу с помощью одного тега |
Видео | Нет | Нет | Есть | Добавить видео на веб-страницу с помощью одного тега |
Холст | Нет | Нет | Есть | Добавить невидимую панель для рисования на веб-страницу, на которой вы можете добавлять рисунки (анимацию, игры и другие интерактивные функции) с помощью Javascript. |
History API — веб-API
Объект DOM Window
обеспечивает доступ к истории сеансов браузера (не путать с историей WebExtensions) через объект history
.Он предоставляет полезные методы и свойства, которые позволяют перемещаться вперед и назад по истории пользователя и управлять содержимым стека истории.
Перемещение вперед и назад по истории пользователя выполняется с помощью методов назад ()
, вперед ()
и go ()
.
Перемещение вперед и назад
Для перемещения назад по истории:
window.history.back ()
Действует так же, как если бы пользователь нажал кнопку Назад на панели инструментов своего браузера.
Точно так же вы можете двигаться вперед (как если бы пользователь нажал кнопку Вперед ), например:
window.history.forward ()
Переход к определенной точке в истории
Вы можете использовать метод go ()
для загрузки определенной страницы из истории сеанса, определяемой ее относительным положением относительно текущей страницы. (Относительное положение текущей страницы: 0
.)
Чтобы вернуться на одну страницу назад (эквивалент вызова назад ()
):
окно.history.go (-1)
Для перехода на страницу вперед аналогично вызову forward ()
:
window.history.go (1)
Точно так же вы можете перейти на 2 страницы вперед, передав 2
и так далее.
Другой способ использования метода go ()
— обновить текущую страницу, либо передав 0
, либо вызвав его без аргумента:
window.history.go (0)
window.history.go ()
Вы можете определить количество страниц в стеке истории, посмотрев на значение свойства length
:
пусть numberOfEntries = window.history.length
-
История
- Позволяет манипулировать историей сеанса браузера (то есть посещенными страницами во вкладке или фрейме, в которые загружена текущая страница).
В следующем примере слушатель назначается свойству onpopstate
. А затем иллюстрирует некоторые методы объекта истории для добавления, замены и перемещения в истории браузера для текущей вкладки.
window.onpopstate = function (event) {
alert (`расположение: $ {document.location}, состояние: $ {JSON.stringify (event.state)} `)
}
history.pushState ({page: 1}, "title 1", "? page = 1")
history.pushState ({page: 2}, "title 2", "? page = 2")
history.replaceState ({page: 3}, "title 3", "? page = 3")
history.back ()
history.back ()
history.go (2)
таблицы BCD загружаются только в браузере
Ссылки
Руководства
История — веб-API | MDN
Интерфейс History
позволяет управлять историей сеанса браузера , то есть посещенными страницами во вкладке или фрейме, в которые загружена текущая страница.
Интерфейс History
не наследует никаких свойств.
-
длина
Только чтение - Возвращает целое число
1
. -
свитокВосстановление
- Позволяет веб-приложениям явно задавать поведение восстановления прокрутки по умолчанию при навигации по истории.Это свойство может быть либо
авто
, либоручным
. -
состояние
Только чтение - Возвращает
любое значение
, представляющее состояние наверху стека истории. Это способ посмотреть состояние, не дожидаясь событияpopstate
.
Интерфейс History
не наследует никаких методов.
-
назад ()
- Этот асинхронный метод переходит к предыдущей странице в истории сеанса, то же действие, что и при нажатии пользователем кнопки Назад в браузере.Эквивалент
history.go (-1)
.Вызов этого метода для возврата за пределы первой страницы в истории сеанса не имеет никакого эффекта и не вызывает исключения.
-
вперед ()
- Этот асинхронный метод переходит к следующей странице в истории сеанса, то же действие, что и при нажатии пользователем кнопки браузера Вперед, ; это эквивалентно
history.go (1)
.Вызов этого метода для перехода вперед за пределы самой последней страницы в истории сеанса не имеет никакого эффекта и не вызывает исключения.
-
перейти ()
- Асинхронно загружает страницу из истории сеанса, идентифицируемую ее относительным положением относительно текущей страницы, например
-1
для предыдущей страницы или1
для следующей страницы. Если вы укажете значение за пределами границ (например, указав-1
, когда в истории сеанса нет ранее посещенных страниц), этот метод молча не действует. Вызовgo ()
без параметров или значение0
перезагружает текущую страницу.Internet Explorer позволяет указать строку вместо целого числа для перехода к определенному URL-адресу в списке истории. -
pushState ()
- Помещает указанные данные в стек истории сеанса с указанным заголовком (и, если предоставлен, URL-адресом). Данные обрабатываются DOM как непрозрачные; вы можете указать любой объект JavaScript, который можно сериализовать. Обратите внимание, что все браузеры, кроме Safari, в настоящее время игнорируют параметр title . Для получения дополнительной информации см. Работа с History API.
-
replaceState ()
- Обновляет самую последнюю запись в стеке истории, чтобы она содержала указанные данные, заголовок и, если предоставлен, URL. Данные обрабатываются DOM как непрозрачные; вы можете указать любой объект JavaScript, который можно сериализовать. Обратите внимание, что все браузеры, кроме Safari, в настоящее время игнорируют параметр title . Для получения дополнительной информации см. Работа с History API.
Таблицы BCD загружаются только в браузере
- Окно
.Свойство history
, возвращающее историю текущего сеанса.
История HTML | От спецификации HTML 1.0 к XHTML 1.0 …
Путь // www.yourhtmlsource.com → Начните здесь → ИСТОРИЯ HTML
HTML — развивающийся язык. Он не остается неизменным надолго, пока не будет внесен пересмотренный набор стандартов и спецификаций, чтобы упростить создание более красивых и эффективных сайтов. Начнем с начала …
Навигация по страницам:
HTML 1.0
| HTML 2.0
| HTML 3.0
| HTML 3.2
| HTML 4.01
| XHTML 1.0
| HTML5
Эта страница последний раз обновлялась 21.08.2012
HTML 1.0
HTML 1.0 был первым выпуском HTML в мире. В то время в создании веб-сайтов участвовало не так много людей, и язык был очень ограничен. Вы действительно не могли ничего сделать, если бы не добавили простой текст в Интернет. Но потом, как раз это вернуло бороды в прошлое.
HTML 2.0
HTML 2.0 включал все, что было в оригинальной спецификации 1.0, но добавлял несколько новых функций. »HTML 2.0 был стандартом для дизайна веб-сайтов до января 1997 года и впервые определил многие основные функции HTML.
HTML 3.0
Сейчас все больше и больше людей вовлекаются в HTML-игру, и хотя предыдущие стандарты предлагали некоторые приличные возможности веб-мастерам (как они стали называться), они жаждали новых возможностей и тегов. Они хотели улучшить внешний вид своих сайтов.
Вот тут и начались проблемы. Компания под названием Netscape была явным лидером на рынке браузеров в то время с браузером под названием Netscape Navigator. Чтобы успокоить крики авторов HTML, они ввели новые проприетарные теги и атрибуты в свой браузер Netscape Navigator. Эти новые возможности были названы тегами расширения Netscape . Это вызвало большие проблемы, поскольку другие браузеры пытались воспроизвести эффекты этих тегов, чтобы не отставать, но не могли заставить свои браузеры отображать вещи таким же образом.Это означало, что если вы разрабатываете страницу с помощью Netscape ET, она будет плохо выглядеть в других браузерах. Это вызвало замешательство и раздражение у пионеров разметки.
В это время рабочая группа HTML, возглавляемая человеком по имени »Дэйв Рэггетт, представила новый проект HTML, HTML 3.0. Он включал в себя множество новых и улучшенных возможностей для HTML и обещал веб-мастерам гораздо более широкие возможности для разработки своих страниц. К сожалению, браузеры ужасно медленно внедряли какие-либо новые улучшения, добавляя лишь несколько и опуская остальные.Частично этот сбой можно объяснить масштабами капитального ремонта; и поэтому спецификация HTML 3.0 была оставлена.
К счастью, ответственные люди заметили это, и поэтому будущие улучшения всегда разрабатывались как модульный . Это означало, что их можно было добавлять поэтапно, что упростило разработку браузеров.
HTML 3.2
Специфичные для браузера теги продолжали появляться, и становилось все более очевидным, что необходимо найти стандарт. С этой целью »Консорциум Всемирной паутины (сокращенно W3C ) был основан в 1994 году для стандартизации языка и поддержания его развития в правильном направлении.Их первая работа носила кодовое название WILBUR , а позже стала известна как »HTML 3.2. Это было приглушенным изменением существующих стандартов, оставив многие важные шаги вперед для более поздних версий. Большинство тегов расширений, которые были введены Netscape (и, в меньшей степени, Microsoft), не вошли в эти новые стандарты. Вскоре он стал официальным стандартом в январе 1997 года, и сегодня его полностью поддерживают практически все браузеры.
HTML 4.01
HTML 4.0 был большой эволюцией стандартов HTML и последней версией классического HTML. В начале разработки он имел кодовое название COUGAR . Большая часть новых функциональных возможностей, представленных на этот раз, взята из злополучной спецификации HTML 3.0, а также множество обрезков старых тегов, упор на интернационализацию и поддержку нового поддерживающего языка представления HTML, каскадных таблиц стилей.
HTML 4.0 был рекомендован W3C в декабре 1997 года и стал официальным стандартом в апреле 1998 года.Поддержка браузеров была на удивление серьезна в Microsoft в своем браузере Internet Explorer, а ведущий на рынке IE5 (и нынешний преемник IE6) имеет отличную поддержку почти всех новых тегов и атрибутов. Для сравнения, ужасно ошибочный Navigator 4.7 от Netscape оказался неуместным, когда дело дошло до HTML 4.0 и даже базового CSS. Однако современные браузеры — это значительное улучшение.
После того, как HTML 4.0 вышел ненадолго, документация была пересмотрена и исправлена несколькими незначительными способами и получила название HTML 4.01; окончательная версия спецификации.
Зайдите на сайт W3C для »официальной документации; а чтобы узнать больше о новых тегах, атрибутах и избыточностях, связанных с этим новым стандартом, прочтите нашу статью «Объяснение HTML 4».
XHTML 1.0
Ближе к началу 21 века W3C выпустила свои »спецификации XHTML 1.0 как рекомендацию . С 26 января 2000 года он является совместным стандартом с HTML 4.01. XHTML знаменует собой отход от того, как работали новые спецификации — это совершенно новая ветвь HTML, включающая в себя строгость »XML, поэтому этот код должен быть правильно написан, чтобы он работал, когда он попадает в браузер читателя. В XHTML было не так много новых или устаревших тегов и атрибутов, но некоторые вещи были изменены с целью повышения доступности и функциональности. В основном это просто новый набор правил кодирования. Прочтите все об этом как следует в XHTML Explained.
HTML5
После HTML 4.01 и XHTML 1.0, ребята, которые контролировали направление HTML, отвлеклись, работая над новым предложением для XHTML 2. В то же время умные веб-разработчики постоянно вводили новшества, внедряя новые функции в веб-сайты и браузеры. Путь, по которому шел XHTML 2, стал казаться скучным и нереалистичным, и стало совершенно ясно, что нужен новый подход.
Примерно в это же время группа прагматичных поклонников веб-технологий, программистов браузеров и разработчиков спецификаций начала создавать что-то свое, выходящее за рамки обычных процедур W3C.Они назвали себя Рабочей группой по технологиям веб-гипертекстовых приложений (WHATWG) и разработали новую спецификацию. После некоторого самоанализа W3C решил, что за HTML по-прежнему будущее Интернета. XHTML 2 был прекращен, и HTML5 стал новой спецификацией, в которую должны быть вложены все усилия.
HTML5 разработан для Интернета как сейчас, так и в будущем. Это спецификация, над которой мы будем работать по крайней мере в течение следующего десятилетия, поэтому процесс ее разработки относительно медленный и продуманный.Многие части будут вам знакомы, но есть также много новых элементов, атрибутов и способностей, которые могут вас заинтересовать. Вы можете проверить последнюю версию спецификации, если хотите получить все подробности. Полное руководство по HTML Source об изменениях в HTML5 скоро появится.
На всем протяжении HTML Source я буду преподавать, используя стандарт HTML 4.01. Процент людей, использующих недавно выпущенные браузеры, сейчас достаточно высок, чтобы безопасно создавать сайты с использованием новых элементов и таблиц стилей HTML 4.01.Я позабочусь о том, чтобы те, кто не увидит оптимальную версию вашего сайта, по-прежнему смогут ее использовать, и везде, где в учебнике преподается относительно новый фрагмент кода, я всегда буду ссылаться на него в совместимости с браузером. коробка.
История создания HTML
Некоторые из людей, которые управляют преобразованием Интернета, хорошо известны: например, Билл Гейтс и Стив Джобс. Но те, кто разработал его внутреннюю работу, часто совершенно неизвестны, анонимны и незамечены в эпоху гипер-информации, которую они сами помогли создать.
Определение HTML
HTML — это язык разработки, используемый для создания документов в Интернете. Он используется для определения структуры и макета веб-страницы, внешнего вида страницы и любых специальных функций. HTML делает это с помощью так называемых тегов с атрибутами. Например,
означает разрыв абзаца. Как зритель веб-страницы вы не видите HTML; он скрыт от вашего взгляда. Вы видите только результаты.
Ванневар Буш
Ванневар Буш был инженером, родившимся в конце 19 века.К 1930-м годам он работал над аналоговыми компьютерами и в 1945 году написал статью «Как мы можем думать», опубликованную в Atlantic Monthly. В нем он описывает машину, которую он назвал memex, которая будет хранить и извлекать информацию через микрофильмы. Он будет состоять из экранов (мониторов), клавиатуры, кнопок и рычагов. Система, которую он обсуждал в этой статье, очень похожа на HTML, и он назвал связи между различными частями информации ассоциативными следами. Эта статья и теория заложили основу для того, чтобы Тим Бернерс-Ли и другие изобрели в 1990 году всемирную паутину, HTML (язык разметки гипертекста), HTTP (протокол передачи гипертекста) и URL-адреса (универсальные указатели ресурсов).Буш умер в 1974 году до того, как Интернет стал существовать или Интернет стал широко известен, но его открытия были плодотворными.
Тим Бернерс-Ли и HTML
Тим Бернерс-Ли, ученый и академик, был основным автором HTML при помощи своих коллег из CERN, международной научной организации, базирующейся в Женеве. Бернерс-Ли изобрел всемирную паутину в 1989 году в ЦЕРНе. За это достижение он был назван журналом Time одним из 100 самых важных людей 20-го века.
Браузерный редактор Бернерса-Ли был разработан в 1991-92 годах. Это был настоящий редактор браузера для первой версии HTML, работавший на рабочей станции NeXt. Реализованный в Objective-C, он упростил создание, просмотр и редактирование веб-документов. Первая версия HTML была официально опубликована в июне 1993 года.
История HTML — История языка гипертекстовой разметки
Язык разметки объединяет текст, а также закодированные инструкции о том, как форматировать этот текст, а термин «разметка» происходит от традиционной практики «разметки» полей бумажной рукописи инструкциями для принтера.Однако в настоящее время, если вы упомянете термин «разметка» любому знающему веб-автору, первое, о чем они, вероятно, подумают, — это «HTML».
Итак, откуда взялись материалы, из которых состоят веб-страницы? …
В начале
HTML — сокращенно от H yper T ext M arkup L anguage — является официальным языком Всемирной паутины и впервые был задуман в 1990 году. HTML является продуктом SGML (Standard Generalized Markup Language). ), которая представляет собой сложную техническую спецификацию, описывающую языки разметки, особенно те, которые используются в электронном обмене документами, управлении документами и публикации документов.Изначально HTML был создан для того, чтобы позволить тем, кто не специализируется на SGML, публиковать научные и другие технические документы и обмениваться ими. HTML особенно облегчил этот обмен, включив возможность связывать документы в электронном виде с помощью гипер ссылок. Таким образом, название Hyper Text Markup Language.
Тем не менее, те, кто не занимается научной документацией, быстро осознали, что HTML относительно легко изучить, он самодостаточен и пригоден для ряда других приложений.С развитием всемирной паутины HTML начал распространяться и быстро стал мейнстримом.
Браузерные войны
Вскоре компании начали создавать браузеры — программное обеспечение, необходимое для просмотра HTML-документа, то есть веб-страницы, — и по мере того, как они набирали популярность, возникла конкуренция и возникли другие веб-браузеры. Некоторых может удивить, что еще в конце 1995 года Netscape, который сейчас уступает королю-конгу браузеров, Internet Explorer, был доминирующим браузером на рынке.Фактически, Netscape был первым браузером, который поддерживал Javascript, анимированные гифки и HTML-фреймы.
Так начались так называемые «войны браузеров», и, увидев, кто может реализовать больше «наворотов», чем другой, производители браузеров также начали изобретать проприетарные HTML-элементы, которые работали только с их браузерами. Некоторыми примерами из них являются теги
(прокручиваемый текст), которые изначально работали только с Internet Explorer и
тегов (мигающий текст), который по-прежнему работает только с браузерами на базе Gecko, такими как Firefox.
Побочным эффектом всей этой конкуренции было то, что HTML стал фрагментированным, и вскоре веб-авторы обнаружили, что их веб-страницы выглядят нормально в одном браузере, но не в другом. Следовательно, создание веб-страницы, которая бы одинаково отображалась в нескольких различных браузерах, становилось все труднее и отнимало много времени. (Это явление в некоторой степени сохраняется и по сей день.)
Тем временем организация, известная как Консорциум Всемирной паутины (сокращенно W3C), неуклонно работала в фоновом режиме над стандартизацией HTML.В конце 1990-х W3C опубликовал несколько рекомендаций, которые представляли официальные версии HTML и давали постоянную исчерпывающую справочную информацию для веб-авторов. Так родился HTML 2.0 в сентябре 1995 года, HTML 3.2 в январе 1997 года и HTML 4.01 в декабре 1999 года.
К настоящему времени Internet Explorer (IE) затмил Netscape Navigator в качестве браузера для использования во время серфинга в сети благодаря своим превосходным возможностям, но также во многом из-за того, что IE поставлялся в комплекте с операционной системой Windows.По сути, когда люди покупали компьютеры с ОС Windows, на них был «установлен Интернет». Это, как правило, вполне устраивало людей, поскольку типичным новичком в компьютерах был тот, кто пробовал взяться за эту устрашающую новомодную технологию, которая была забита неразборчивыми аббревиатурами, бессмысленными вспомогательными файлами программного обеспечения и ошибочными программами. Следовательно, чем больше «мгновенных» решений предлагала эта новая технология, тем она была лучше.
Плохая грамматика
По мере того, как Всемирная паутина приближалась к взрослой жизни, в ней размещалось множество потенциальных и профессиональных авторов веб-страниц, становилось все более очевидным, что киберпространство заполняется большим количеством плохо написанного HTML.
Это произошло из-за некоторой лени и неопытности, но также было результатом другого мгновенного решения, включающего инструменты веб-разработки, в частности редакторы WYSIWYG, которые имели тенденцию создавать раздутый и беспорядочный исходный код. По мере того как войны браузеров продолжались — хотя к настоящему времени это было в значительной степени кровавой бойней — ведущий браузер развил возможности, похожие на собаку на свалке, которая могла сожрать любую недоделанную веб-страницу, с которой он столкнулся. Все это было прекрасно, но ресурсы (исходный код программы, оперативная память на компьютере пользователя и т. Д.), Необходимые для запуска браузера, который может потреблять практически все, были чрезмерными по сравнению с тем, что могло бы быть.А поскольку рынок диктовал ход событий, будущие браузеры были обязаны следовать за лидером, что стимулировало появление большего количества мусорного кода в Интернете.
Чтобы исправить эту ситуацию, W3C придумал более полковую форму HTML с намерением создать жесткий стандарт, которому веб-авторов поощряли соответствовать. Это поддерживало попытку в конечном итоге «очистить» или упростить Всемирную паутину и в конечном итоге заменить элементы представления, такие как шрифт
, другой структурой документации, известной как каскадные таблицы стилей (CSS).Теоретически, как только произойдет это преобразование, Интернет станет менее востребованным для следующего поколения веб-браузеров и, в частности, будет соответствовать низкой вычислительной мощности новых портативных устройств, таких как КПК. Отсюда рождение следующего поколения HTML под названием XHTML , где «X» означает, что эта версия HTML была основана на XML (расширяемом языке разметки), а не на SGML.
Итак, что вам следует использовать? HTML или XHTML? …
История HTML — Сообщество разработчиков
Начиная с CERN, HTML довольно популярен в сети, и почти все ресурсы в сети представлены в HTML с некоторыми улучшениями с помощью CSS и JavaScript.
HTML претерпел множество изменений за прошедшие годы, и стандарты эволюционировали, что позволило сделать код более чистым и эффективным.
Происхождение HTML восходит к 1980 году, когда Тим Бернерс-Ли во время работы в ЦЕРНе захотел найти способ перехода от одной информации к другому набору информации на другом компьютере. Эта идея была предложена как гипертекстовая система для обмена документами и продолжалась быть основным языком Интернета — HTML.
Он создал первую версию HTML в 1993 году.С тех пор появилось много разных версий HTML. Наиболее широко используемой версией на протяжении 2000-х был HTML 4.01, который стал официальным стандартом в декабре 1999 года.
Другая версия, XHTML, была переработкой HTML как языка XML. XML — это стандартный язык разметки, который используется для создания других языков разметки. Сегодня используются сотни языков XML, включая GML (язык географической разметки), MathML, MusicML и RSS (действительно простое распространение).
ВЕРСИИ HTML
- HTML 5
- XHTML
- HTML 4.01
- HTML 4.0
- HTML 3.2
- HTML 3.0
- HTML 2.0
- HTML 1
Вы можете найти подробное объяснение этих HTML-версий на сайте landofcode.
После публикации HTML 4.01 деятельность по стандартизации HTML прекратилась, и W3C сосредоточился на разработке стандарта XHTML, что привело к созданию XHTML.
Технологические гиганты Apple, Mozilla и Opera выразили озабоченность отсутствием интереса W3C к HTML и, таким образом, сформировали группу под названием WHATWG, сокращенно от (Рабочая группа по технологиям веб-гипертекстовых приложений).
Текущая деятельность WHATWG сосредоточена на будущем стандарте HTML5, первый официальный проект которого был опубликован 22 января 2008 г.