Какая-какая рабочая группа?

Автор: Татьяна и Александр Головко Дата публикации: 06.03.2011
Последнее обновление:12.09.2017

Какого черта она называется «рабочая группа WHAT»? Пускай сами объясняют:

Рабочая группа Web Hypertext Applications Technology (WHAT) это свободное, неофициальное, и открытое сотрудничество производителей браузеров и заинтересованных сторон. Деятельность группы направлена на разработку спецификаций на основе HTML и связанных с ним технологий, чтобы облегчить развертывание взаимодействующих Веб-приложений с намерением представить результаты организациям занимающимся стандартизацией. Эти результаты станут основой работы по формальному расширению HTML стандартов.

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

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

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

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

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

Куда дальше