Введение
"С чего начинать, Ваше Величество?"
"Начни с начала", — важно ответил Король, —
"и продолжай, пока не дойдешь до конца. Как дойдешь - кончай."
Все имеет свое начало, поэтому наше путешествие начнется с урока, посвященного истории. Далее я собираюсь представить краткий обзор создания Интернет, World Wide Web (WWW), и "стандартов Web", которым посвящен весь этот цикл лекций. Мне кажется, что будет полезно и интересно понять, как мы оказались там, где сейчас находимся, но это будет достаточно кратко, чтобы читатель не оказался перегруженным, и мог легко и быстро понять детали. Если какие-то термины будут непонятны, не беспокойтесь; если они важны для изучения разработки приложений Web, они будут определены в следующих лекциях, которые более подробно рассматривают каждую тему, и, кроме того, всегда можно поискать их определение с помощью Google! Если вы уже знакомы с историей Интернет или World Wide Web (Всемирной паутины), то можно сразу перейти к разделу о стандартах Web. Лекция имеет следующее содержание.
Начало Интернет
Создание World Wide WebВойны браузеров
Появление стандартов WebФормирование W3C
Проект по стандартам Web
Развитие стандартов Web
Заключение
Дополнительное чтение
Контрольные вопросы
Начало Интернет
Четвертого октября 1957 г. произошло событие, которое должно было изменить мир. Советский Союз успешно запустил первый спутник на орбиту вокруг Земли. Названный "Спутник 1", он потряс мир - особенно Соединенные Штаты Америки, которые осуществляли свою собственную программу запуска спутников, но до сих пор не осуществили запуск.
Это событие вызвало создание Управления по перспективным научным исследованиям (ARPA) Министерства обороны США, в связи с осознанной необходимостью в организации, которая могла бы проводить исследования и разработки перспективных идей и технологий за рамками определенных в настоящее время потребностей. Возможно наиболее знаменитым из их проектов (несомненно, наиболее широко используемым) является создание Интернет.
В 1960 г. психолог и специалист в области вычислительных машин Джозеф Ликлайдер опубликовал статью, названную "Симбиоз человека и компьютера", в которой была явно выражена идея объединения компьютеров в сеть для обеспечения более развитого хранения и использования информации. В 1962 г. во время работы в ARPA в качестве руководителя отдела обработки информации он сформировал группу для дальнейших исследований в этом направлении, но оставил группу, прежде чем были получены какие-либо реальные результаты.
План создания компьютерной сети (названной "ARPANET") был представлен в октябре 1967 г., а в декабре 1969 г. была запущена в работу первая сеть из четырех компьютеров. Основная проблема при создании сети состояла в том, как соединить отдельные физические сети, не связывая сетевые ресурсы постоянными каналами. Для решения этой проблемы была использована техника, известная как коммутация пакетов, которая предполагает разбиение запросов данных на небольшие фрагменты ("пакеты"), которые могут быстро обрабатываться, не блокируя коммуникацию других частей — этот принцип все еще используется сегодня для работы Интернет.
Концепция получила более широкое признание с появлением нескольких других сетей, использующих тот же самый метод коммутации пакетов — например, X.25 (разработанная International Telecommunication Union), сформировавшая основу первой университетской сети Великобритании JANET (позволившая университетам Великобритании посылать и получать файлы и сообщения e-mail), и американская публичная сеть CompuServe (коммерческое предприятие, предоставившая небольшим компаниям и отдельным людям доступ к компьютерным ресурсам на основе разделения времени использования, и затем позже доступ к Интернет). Эти сети, несмотря на наличие множества соединений, были в большей степени частными сетями, чем сегодняшней сетью Интернет.
Распространение различных сетевых протоколов стало вскоре проблемой при попытке заставить общаться все эти отдельные сети. Однако в поле зрения имелось решение — Роберт Кан, во время работы над проектом спутниковой пакетной сети ARPA, начал определять некоторые правила для более открытой сетевой архитектуры для замены используемого в ARPANET протокола. Позже, вместе с Винтоном Серфом из Станфордского университета, они создали систему, которая маскировала различия между сетевыми протоколами с помощью нового стандарта. В публикации, посвященной проекту спецификации в декабре 1974 г., он был назван "Internet Transmission Control Program".
Эта спецификация уменьшила роль сети и перенесла ответственность за поддержание целостности передачи на хост-компьютер. Конечным результатом этого было то, что стало возможно легко соединять почти любые сети. ARPA профинансировала разработку программного обеспечения и в 1977 г. была проведена успешная демонстрация коммуникации трех различных сетей. К 1981 г. спецификация была завершена, опубликована и принята, и в 1982 г. соединения ARPANET за пределами США были переведены на использование нового протокола "TCP/IP". Появился Интернет в том виде, как мы его знаем.
Создание World Wide Web
Gopher (http://en.wikipedia.org/wiki/Gopher_%28protocol%29) был системой извлечения информации, использовавшейся в начале 1990-х гг., которая предоставляла меню ссылок на файлы, компьютерные ресурсы и другие меню. Эти меню могли пересекать границы текущего компьютера и использовать Интернет для извлечения меню из других систем. Он был очень популярен в университетах, которые искали возможность распространения информации внутри кампуса, и больших организациях, которые старались централизовать хранение и управление документами.
Gopher был создан в Университете Миннесоты. В феврале 1993 университет объявил, что собирается требовать лицензионные отчисления за использование своей эталонной реализации сервера Gopher. Вследствие этого многие организации начали искать альтернативные Gopher решения.
Европейский совет по ядерным исследованиям (CERN) в Швейцарии имел такое альтернативное решение. Тим Бернерс-Ли работал над системой управления информацией, в которой текст мог содержать связи и ссылки на другие работы, позволяя читателю быстро перемещаться от документа к документу. Он создал сервер для публикации документов такого вида (называемых гипертекстом), а также программу для их чтения, которую назвал "WorldWideWeb". Это программное обеспечение было выпущено впервые в 1991 г., однако должны были произойти два события, которые привели к быстрому росту его популярности и окончательной замене Gopher.
Тридцатого апреля 1993 г. CERN выпустил исходный код WorldWideWeb во всеобщее достояние, поэтому кто угодно мог использовать или применять это программное обеспечение без всякой платы.
Затем, позже в том же году, Национальный центр суперкомпьютерных приложений (NCSA) выпустил программу, которая была комбинацией Web-браузера и клиента Gopher, названную Mosaic. Она была доступна первоначально только на машинах Unix в форме исходного кода, но в декабре 1993 г. Mosaic представила новую версию с программами установки для Apple Macintosh и Microsoft Windows. Программа Mosaic быстро стала очень популярной, а вместе с ней и сама Web.
Число доступных Web-браузеров существенно выросло, многие из них создавались как исследовательские проекты в университетах и корпорациях, таких как Telenor (норвежская коммуникационная компания), которая создала первую версию браузера Opera в 1994 г..
"Войны браузеров"
Популярность Web привела к появлению коммерческого интереса. Марк Адриссен покинул NCSA и вместе с Джимом Кларком основал компанию Mosaic Communications, позже переименованную в Netscape Communications Corporation, и начал работать над программой, которая должна была стать Netscape Navigator. Версия 1.0 этой программы была выпущена в декабре 1994 г.
Компания Spyglass Inc. (коммерческое отделение NCSA) лицензировала технологию Mosaic для компании Microsoft, чтобы сформировать основу Internet Explorer. Версия 1.0 была выпущена в августе 1995 г..
Вскоре последовало быстрое развитие, когда каждая компания Netscape и Microsoft пыталась получить конкурентное преимущество, предоставляя все новые свойства, которые они поддерживали, чтобы привлечь разработчиков. Это стало называться с тех пор " войнами браузеров ". Opera сохраняла небольшое, но устойчивое присутствие в течение этого периода, и пыталась в это время внедрять и поддерживать насколько возможно стандарты Web.
Появление стандартов Web
Во время войны браузеров компании Microsoft и Netscape сосредоточились на реализации новых свойств, а не на решении проблем тех свойств, которые они уже поддерживали, и добавляли собственные свойства и создавали свойства, которые прямо конкурировали с существующими свойствами другого браузера, но были реализованы несовместимым образом.
Разработчики в это время были вынуждены иметь дело с все возрастающими уровнями беспорядка при попытке создания Web-сайтов, иногда вынужденные создавать два различных, но по сути дублирующих друг друга сайта для двух основных браузеров, а иногда вынужденные поддерживать только один браузер, блокируя для других использование своего сайта. Это была ужасная работа, и неизбежная отрицательная реакция разработчиков была недалеко.
Формирование W3C
В 1994 г. Тим Бернерс-Ли основал World Wide Web Consortium ( W3C ) в Массачусетском технологическом институте (Massachusetts Institute of Technology) при поддержке CERN, DARPA (в которую была переименована ARPA) и Европейской Комиссии. Консорциум W3C видел свою задачу в стандартизации протоколов и технологий, которые используются для создания Web, чтобы информационное содержание было доступно как можно большему числу жителей всего мира.
В течение нескольких следующих лет W3C опубликовал несколько спецификаций (называемых "рекомендациями"), включая HTML 4.0, формат изображений PNG, и Каскадные таблицы стилей (CSS), версия 1 и 2.
Однако W3C не принуждает использовать свои рекомендации. Производители должны подчиняться документам W3C, только в том случае, если они хотят пометить свой продукт, как соответствующий W3C. Практически это не слишком ценно с позиции продаж, так как подавляющее большинство пользователей Web не знают, и, вероятно, не беспокоятся, о том, что такое W3C. Поэтому " война браузеров " продолжилась с прежней силой.
Проект стандартов Web
В 1998 г. на рынке браузеров доминировали Internet Explorer 4 и Netscape Navigator 4. Была выпущена бета-версия Internet Explorer 5, в которой был реализован новый и патентованный динамический HTML. Это означало, что профессиональным разработчикам Web требовалось знать пять различных способов записи JavaScript.
В результате группа профессиональных разработчиков и дизайнеров Web решили объединиться. Эта группа назвала себя "Web Standards Project" ( WaSP ). Идея состояла в том, что, называя документы W3C стандартами, а не рекомендациями, они смогут убедить компании Microsoft и Netscape поддержать их. Начальным методом распространения призыва к действию было использование традиционного приема рекламы, называемого "roadblock", когда компания проводит рекламу через все информационные каналы одновременно, поэтому независимо от того, как зритель будет переключаться между каналами, он получит одно и то же сообщение. Группа WaSP опубликовала статью одновременно на различных сайтах, ориентированных на разработку приложений Web, включая http://builder.com, Wired online, и некоторых популярных списках рассылки.
Кроме того, они стали высмеивать компании, которые присоединялись к W3C (и другим организациям стандартизации), но затем сосредотачивались больше на создании новых средств, чем на реализации для начала основ, с правильностью которых они согласились.
И последнее, группа WaSP оказывает также помощь, а не только критикует. Семь членов сформировали группу "CSS Samurai", которая идентифицировала десять основных проблем поддержки CSS в Opera и Internet Explorer (компания Opera исправила свои ошибки, Microsoft — нет).
Развитие стандартов Web
В 2000 г. компания Microsoft выпустила Internet Explorer 5 Macintosh Edition. Это был очень важный этап, так как этот браузер, устанавливаемый в то время в Mac OS, и использовавшийся по умолчанию, имел также приемлемый уровень поддержки рекомендаций W3C. Вместе с приличным уровнем поддержки CSS и HTML в Opera, это способствовало общему положительному движению, когда разработчики и дизайнеры Web впервые почувствовали удобство при проектировании сайтов в соответствии со стандартами Web.
Группа WaSP убедила компанию Netscape отложить выпуск версии 5.0 браузера Netscape Navigator, пока он не станет более согласованной со стандартами (эта работа сформировала основу того, что стало очень популярным браузером Firefox). WaSP создала также "Dreamweaver Task Force" ("Рабочую группу по Dreamweaver"), чтобы стимулировать компанию Macromedia изменить свой популярный инструмент разработки приложений Web для обеспечения поддержки создания соответствующих стандартам сайтов.
Популярный сайт "A List Apart" по разработке Web-приложений был переделан в начале 2001 г., и в статье, описывающей как и почему, было сформулировано:
Через шесть месяцев, через год, или максимум через два года, все сайты будут спроектированы с учетом этих стандартов. […] Можно наблюдать, как наши навыки становятся устаревшими, или начать уже сейчас изучать методы на основе стандартов.
Это было немного слишком оптимистично — не все сайты даже в 2008 г. созданы с учетом стандартов Web. Но многие люди услышали. Старые браузеры потеряли свою долю рынка, и еще два очень высококлассных сайта были перепроектированы с помощью стандартов Web: журнал Wired в 2000 г., и ESPN в 2003 г. стали лидерами отрасли в поддержке стандартов Web и новых методов.
Также в 2003 г. Дейв Ши открыл сайт с названием "CSS Zen Garden". Он должен был оказать на профессионалов Web большее влияние, чем что-либо другое, иллюстрируя как можно изменить весь дизайн, изменяя только стиль страницы, контент может остаться тем же самым.
С тех пор в сообществе профессиональных разработчиков Web стандарты стали обязательными. И в данной серии лекций мы предоставим вам прекрасные основы этих методов, чтобы вы могли разрабатывать Web-сайты также искусно, содержательно, доступно и в соответствии со стандартами, как и большие компании.
Заключение
В этой лекции было рассказано, как современная сеть Интернет была создана в результате космической гонки, как Тим Бернерс-Ли определил гипертекст для нового этапа развития, и как коммерческие интересы двух компаний вызвали одну из наиболее значительных отрицательных реакций разработчиков. Термин "стандарты Web" используется теперь более широко профессионалами Web, чем какой-либо другой термин, используемый W3C (фактически консорциум W3C начал использовать этот термин на своих собственных страницах), и именно этому мы собираемся научить вас — стандартным способам создания сайтов Web.
Дополнительное чтение
Если вы хотите узнать больше, вы могли бы посетить некоторые из следующих сайтов:
История Интернет (http://en.wikipedia.org/wiki/History_of_the_Internet, http://ru.wikipedia.org/wiki/Интернет)
История World Wide Web (wikipedia) (http://en.wikipedia.org/wiki/History_of_the_World_Wide_Web, http://ru.wikipedia.org/wiki/WWW)
История W3C (http://www.w3.org/Consortium/history, http://ru.wikipedia.org/wiki/W3C)
Web Standards Project (http://webstandards.org/), и его история (http://www.webstandards.org/about/history/)
A List Apart (http://www.alistapart.com/)
CSS Zen Garden (http://www.csszengarden.com/)
Контрольные вопросы
Или вы можете попробовать выполнить дополнительное исследование, ответив на следующие вопросы:
Какие браузеры доступны сегодня в Интернет пользователям Windows, Mac OS X и Linux?
Какой процент пользователей Web использует каждый браузер?
Какие браузеры используют мобильные устройства для доступа к страницам Web?
Сколько "стандартов Web" опубликовал консорциум W3C, и какие из них сегодня широко поддерживаются производителями браузеров?
Об авторе
Марк Норман Френсис работает с Интернет с момента изобретения Web. Он работает в настоящее время в компании Yahoo! в качестве архитектора внешнего интерфейса для крупнейшего в мире Web-сайта, определяя лучшие методы, стандарты кодирования и качества разработки Web.
До Yahoo! он работал в Formula One Management, Purple Interactive и City University на различных должностях, включая разработку Web приложений, серверное программирование CGI и архитектура систем. Он приписывает себе блог по адресу http://marknormanfrancis.com/.
Источник: Andy Budd http://flickr.com/photos/andybudd/98405468/
Материалы этого курса имеют лицензию
Creative Commons Attribution, Non Commercial - Share Alike 2.5 license.