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

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

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

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

Тем не менее, ничто из вышеперечисленного не отвечает на вопрос: почему у нас есть тег <img>? Почему не тег <icon>? Или тег <include>? Почему не ссылка с атрибутом include или заданными значениями параметра rel? Почему тег <img>? Все очень просто, потому что Марк Андрессен использовал его в своем коде. Практика победила. Это не говорит о том, что практика всегда побеждает. В конце концов, Andrew, Intermedia и HyTime тоже применялись. Рабочий код необходимое, но не достаточное условие успеха. И, уж конечно, я не хочу сказать, что применение кода до выхода стандарта это лучшее решение.

Тег <img>, предложенный Марком, не декларирует ни общего формата графики, ни способа обтекания ее текстом, он не поддерживает альтернативный текст или резервный контент для старых браузеров. И 17 лет спустя мы все еще боремся со сниффингом контента и он по-прежнему является огромной дырой в безопасности. И все это тянется сквозь Великую войну браузеров в далекий день 25 февраля 1993 года, когда Марк Андрессен небрежно заметил: «MIME, когда-нибудь, наверное», но все равно использовал свой код.

Куда дальше