Введение в веб-технологии: структура и принципы Веб
Предметом данного курса являются технологии глобальной сети World Wide Web (сокращенно WWW или просто Web ). На русском языке распространенным вариантом является название "Веб".
В частности, в рамках курса будут рассмотрены такие вопросы как:
- Структура и принципы Веб (базовые понятия, архитектура, стандарты и протоколы);
- Технологии сети Веб (языки разметки и программирования веб-страниц, инструменты разработки и управления веб-контента и приложений для Веб, средства интеграции веб-контента и приложений в Веб).
Сеть Веб представляет собой глобальное информационное пространство , основанное на физической инфраструктуре Интернета и протоколе передачи данных HTTP . Зачастую, говоря об Интернете, подразумевают именно сеть Веб.
Что такое Интернет?Поскольку физической основой сети Веб является Интернет , то для более глубокого понимания многих вопросов данного курса потребуется кратко ознакомиться со структурой и протоколами Интернета.
Что же такое Интернет ?
По сути, это самая большая в мире сеть , не имеющая единого центра управления, но работающая по единым правилам и предоставляющая своим пользователям единый набор услуг. Интернет можно рассматривать как " сеть сетей", каждая из которых управляется независимым оператором – поставщиком услуг Интернета ( ISP , Internet Service Provider ).
С точки зрения пользователей Интернет представляет собой набор информационных ресурсов, рассредоточенных по различным сетям, включая ISP -сети, корпоративные сети , сети и отдельные компьютеры домашних пользователей. Каждый отдельный компьютер в данной сети называется хостом (от английского термина host ).
Сегодняшний Интернет обязан своему появлению объединенной сети ARPANET , которая начиналась как скромный эксперимент в новой тогда технологии коммутации пакетов (табл. 1.1). Сеть ARPANET была развернута в 1969 г. и состояла поначалу всего из четырех узлов с коммутацией пакетов, используемых для взаимодействия горстки хостов и терминалов. Первые линии связи, соединявшие узлы, работали на скорости всего 50 Кбит/с. Сеть ARPANET финансировалась управлением перспективного планирования научно-исследовательских работ ARPA ( Advanced Research Projects Agency ) министерства обороны США и предназначалась для изучения технологии и протоколов коммутации пакетов, которые могли бы использоваться для кооперативных распределенных вычислений.
Таблица 1.1. Хронология развития Интернета (с 1966 по 2000 г.) Год Событие 1966 Эксперимент с коммутацией пакетов управления ARPA 1969 Первые работоспособные узлы сети ARPANET 1972 Изобретение распределенной электронной почты 1973 Первые компьютеры, подключенные к сети ARPANET за пределами США 1975 Сеть ARPANET передана в ведение управления связи министерства обороны США 1980 Начинаются эксперименты с TCP/IP 1981 Каждые 20 дней к сети добавляется новый хост 1983 Завершен переход на TCP/IP 1986 Создана магистраль NSFnet 1990 Сеть ARPANET прекратила существование 1991 Появление Gopher 1991 Изобретение Всемирной паутины. Выпущена система PGP. Появление Mosaic 1995 Приватизация магистрали Интернета 1996 Построена магистраль ОС-3 (155 Мбит/с) 1998 Число зарегистрированных доменных имен превысило 2 млн. 2000 Количество индексируемых веб-страниц превысило 1 млрд.На рисунке 1.1 представлен график , показывающий динамику роста числа хостов (как формально зарегистрированных, так и активно функционирующих).
Возможно ли централизованное управление в такой глобальной сети? Ответ на данный вопрос будет отрицательным, поскольку, во-первых, данная сеть является транснациональной и, во-вторых, в силу исторических предпосылок ее формирования.
Тем не менее, в Интернете могут проявляться опосредованные формы централизации в форме единой технической политики, согласованном наборе технических стандартов, назначении имен и адресов компьютеров и сетей, входящих в Интернет .
То есть Интернет является децентрализованной сетью, что имеет свои достоинства и недостатки.
- Достоинства:
- Легкость наращивания Интернета путем заключения соглашения между двумя ISP.
- Сложность модернизации технологий и услуг Интернета, поскольку требуются согласованные усилия всех поставщиков услуг.
- Невысокая надежность услуг Интернета.
- Ответственность за работоспособность отдельных сегментов этой сети возлагается на поставщиков услуг Интернета.
Существуют различные типы поставщиков услуг Интернета:
- просто поставщик услуг Интернета выполняет транспортную функцию для конечных пользователей – передачу их трафика в сети других поставщиков услуг Интернета;
- поставщик интернет-контента имеет собственные информационно-справочные ресурсы, предоставляя их содержание в виде веб-сайтов;
- поставщик услуг хостинга предоставляет свои помещения, каналы связи и серверы для размещения внешнего контента;
- поставщик услуг по доставке контента занимается только доставкой контента в многочисленные точки доступа с целью повышения скорости доступа пользователей к информации;
- поставщик услуг по поддержке приложений предоставляет клиентам доступ к крупным универсальным программным продуктам, например SAP R3;
- поставщик биллинговых услуг обеспечивает оплату счетов по Интернету;
Как следует из всего вышеизложенного, Интернет является очень сложной сетью, и соответственно такой же сложной является задача организации взаимодействия между устройствами сети. Для решения такого рода задач используется декомпозиция, т.е. разбиение сложной задачи на несколько более простых задач-модулей. Одной из концепций, реализующих декомпозицию, является многоуровневый подход . Такой подход дает возможность проводить разработку, тестирование и модификацию каждого отдельного уровня независимо от других уровней. Иерархическая декомпозиция позволяет, перемещаясь в направлении от более низких к более высоким уровням переходить к более простому представлению решаемой задачи.
Специфика многоуровневого представления сетевого взаимодействия состоит в том, что в процессе обмена сообщениями участвуют как минимум две стороны, для которых необходимо обеспечить согласованную работу двух иерархий аппаратно-программных средств. Каждый из уровней должен поддерживать интерфейс с выше- и нижележащими уровнями собственной иерархии средств и интерфейс со средствами взаимодействия другой стороны на том же уровне иерархии. Данный тип интерфейса называется протоколом (см. рисунок 1.2).
Иерархически организованный набор протоколов, достаточный для организации взаимодействия узлов в сети, называется стеком протоколов.
В начале 80-х годов международные организации по стандартизации ISO ( International Organization for Standardization ), ITU ( International Telecommunications Union ) и другие разработали стандартную модель взаимодействия открытых систем OSI ( Open System Interconnection ). Назначение данной модели состоит в обобщенном представлении средств сетевого взаимодействия. Ее также можно рассматривать в качестве универсального языка сетевых специалистов ( справочной модели ).
Поскольку сеть – это соединение разнородного оборудования, актуальной является проблема совместимости, что в свою очередь , требует согласования всеми производителями общепринятых стандартов. Открытой является система, построенная в соответствии с открытыми спецификациями.
Спецификация представляет собой формализованное описание аппаратных (программных) компонентов, способов их функционирования, взаимодействия с другими компонентами, условий эксплуатации, особых характеристик. Под открытыми спецификациями понимаются опубликованные, общедоступные спецификации, соответствующие стандартам и принятые в результате достижения согласия после всестороннего обсуждения всеми заинтересованными сторонами. Использование открытых спецификаций при разработке систем позволяет третьим сторонам разрабатывать для этих систем аппаратно-программные средства расширения и модификации, а также создавать программно-аппаратные комплексы из продуктов разных производителей.
Если две сети построены с соблюдением принципов открытости, это дает следующие преимущества:
- Возможность построения сети из аппаратных и программных средств различных производителей, придерживающихся стандарта;
- Безболезненная замена отдельных компонентов сети другими, более совершенными;
- Легкость сопряжения одной сети с другой.
В рамках модели OSI средства взаимодействия делятся на семь уровней: прикладной, представления, сеансовый, транспортный, сетевой, канальный и физический. В распоряжение программистов предоставляется прикладной программный интерфейс , позволяющий обращаться с запросами к самому верхнему уровню, а именно, - уровню приложений.
Сеть Интернет строилась в полном соответствии с принципами открытых систем. В разработке стандартов этой сети принимали участие тысячи специалистов-пользователей сети из вузов, научных организаций и компаний. Результат работы по стандартизации воплощается в документах RFC.
RFC (англ. Request for Comments) — документ из серии пронумерованных информационных документов Интернета, содержащих технические спецификации и Стандарты, широко применяемые во Всемирной сети. В настоящее время первичной публикацией документов RFC занимается IETF под эгидой открытой организации Общество Интернета ( ISOC ). Правами на RFC обладает именно Общество Интернет . Формат RFC появился в 1969 г. при обсуждении проекта ARPANET. Первые RFC распространялись в печатном виде на бумаге в виде обычных писем, но уже с декабря 1969 г., когда заработали первые сегменты ARPANET , документы начали распространяться в электронном виде. В таблице 1.2 приведены некоторые из наиболее известных документов RFC .
Таблица 1.2. Примеры популярных RFC-документов. Номер RFC Тема RFC 768 UDP RFC 791 IP RFC 793 TCP RFC 822 Формат электронной почты, заменен RFC 2822 RFC 959 FTP RFC 1034 DNS — концепция RFC 1035 DNS — внедрение RFC 1591 Структура доменных имен RFC 1738 URL RFC 1939 Протокол POP версии 3 (POP3) RFC 2026 Процесс стандартизации в Интернете RFC 2045 MIME RFC 2231 Кодировка символов RFC 2616 HTTP RFC 2822 Формат электронной почты RFC 3501 IMAP версии 4 издание 1 (IMAP4rev1)Основным организационным подразделением, координирующим работу по стандартизации Интернет , является ISOC ( Internet Society), объединяющее порядка 100 тысяч участников, которые занимаются различными аспектами развития данной сети. ISOC курирует работу IAB ( Internet Architecture Board ), включающую две группы:
- IRTF (Internet Research Task Force). Координирует долгосрочные исследовательские проекты, относящиеся к TCP/IP;
- IETF ( Internet Engineering Task Force ). Инженерная группа, определяющая спецификации для последующих стандартов Интернет.
Разработкой стандартов для сети Веб, начиная с 1994 года, занимается Консорциум W3C (World Wide Web Consortium), основанный и до сих пор возглавляемый Тимом Бернерсом-Ли.
Консорциум W3C — организация, разрабатывающая и внедряющая технологические стандарты для Интернета и WWW . Миссия W3C формулируется следующим образом: "Полностью раскрыть потенциал Всемирной паутины путем создания протоколов и принципов, гарантирующих долгосрочное развитие Сети". Две другие важнейшие задачи Консорциума — обеспечить полную "интернационализацию Сети" и сделать ее доступной для людей с ограниченными возможностями.
W3C разрабатывает для WWW единые принципы и стандарты, называемые " Рекомендациями ", которые затем внедряются разработчиками программ и оборудования. Благодаря Рекомендациям достигается совместимость между программными продуктами и оборудованием различных компаний, что делает сеть WWW более совершенной, универсальной и удобной в использовании.
Все Рекомендации W3C открыты, то есть, не защищены патентами и могут внедряться любым человеком без каких-либо финансовых отчислений Консорциуму.
Для удобства пользователей Консорциумом созданы специальные программы-валидаторы (англ. Online Validation Service ), которые доступны по сети и могут за несколько секунд проверить документы на соответствие популярным Рекомендациям W3C . Консорциумом также созданы многие другие утилиты для облегчения работы веб-мастеров и программистов. Большинство утилит — это программы с открытым исходным кодом, все они бесплатные. В последнее время, повинуясь мировым тенденциям, Консорциум, в целом, гораздо больше внимания уделяет проектам с открытым исходным кодом.
В российском сегменте Интернета имеется своя организация - Российский НИИ Развития Общественных Сетей РОСНИИРОС (Russian Institute for Public Networks , RIPN). РОСНИИРОС занимается координацией российских исследований и разработок в Интернете.
Прежде чем перейти к описанию структуры, принципов работы и основных протоколов сети Веб, рассмотрим основной стек протоколов сети Интернет - стек TCP/IP .