Web-технологии
Покупка
Тематика:
Web-технологии. Web-дизайн
Издательство:
ИНТУИТ
Автор:
Сычев А. В.
Год издания: 2016
Кол-во страниц: 304
Дополнительно
В рамках курса рассматривается широкий спектр протоколов, стандартов и технологий, имеющих непосредственное отношение к разработке web-приложений. В курсе изучаются различные роли и ответственность клиентов и серверов для различных приложений в WWW, общие принципы работы клиентских и серверных языков и технологий в WWW, основные протоколы, необходимые для создания и работы web-приложений, основные принципы и подходы к web-интеграции приложений, разнородных компонент и систем, основные продукты и технологии Майкрософт, используемые для разработки web-контента и web-приложений.
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Web-технологии 2-е издание, исправленное Сычев А.В. Национальный Открытый Университет “ИНТУИТ” 2016 2
Web-технологии/ А.В. Сычев - М.: Национальный Открытый Университет “ИНТУИТ”, 2016 В рамках курса рассматривается широкий спектр протоколов, стандартов и технологий, имеющих непосредственное отношение к разработке web-приложений. В курсе изучаются различные роли и ответственность клиентов и серверов для различных приложений в WWW, общие принципы работы клиентских и серверных языков и технологий в WWW, основные протоколы, необходимые для создания и работы web-приложений, основные принципы и подходы к web-интеграции приложений, разнородных компонент и систем, основные продукты и технологии Майкрософт, используемые для разработки web-контента и web-приложений. (c) ООО “ИНТУИТ.РУ”, 2009-2016 (c) Сычев А.В., 2009-2016 3
Введение в веб-технологии: структура и принципы Веб Интернет: понятие, история развития. Стандартизация в Интернет. RFC-документы. Стек протоколов TCP/IP. Система доменных имен DNS. Структура и принципы WWW. Прокси-серверы. Протоколы Интернет прикладного уровня. Предмет курса Предметом данного курса являются технологии глобальной сети World Wide Web (сокращенно WWW или просто Web). На русском языке распространенным вариантом является название “Веб”. В частности, в рамках курса будут рассмотрены такие вопросы как: 1. Структура и принципы Веб (базовые понятия, архитектура, стандарты и протоколы); 2. Технологии сети Веб (языки разметки и программирования веб-страниц, инструменты разработки и управления веб-контента и приложений для Веб, средства интеграции веб-контента и приложений в Веб). Сеть Веб представляет собой глобальное информационное пространство, основанное на физической инфраструктуре Интернета и протоколе передачи данных HTTP. Зачастую, говоря об Интернете, подразумевают именно сеть Веб. Что такое Интернет? Поскольку физической основой сети Веб является Интернет, то для более глубокого понимания многих вопросов данного курса потребуется кратко ознакомиться со структурой и протоколами Интернета. Что же такое Интернет? По сути, это самая большая в мире сеть, не имеющая единого центра управления, но работающая по единым правилам и предоставляющая своим пользователям единый набор услуг. Интернет можно рассматривать как “сеть сетей”, каждая из которых управляется независимым оператором – поставщиком услуг Интернета (ISP, Internet Service Provider). С точки зрения пользователей Интернет представляет собой набор информационных ресурсов, рассредоточенных по различным сетям, включая ISP-сети, корпоративные сети, сети и отдельные компьютеры домашних пользователей. Каждый отдельный компьютер в данной сети называется хостом (от английского термина host). Сегодняшний Интернет обязан своему появлению объединенной сети ARPANET, которая начиналась как скромный эксперимент в новой тогда технологии коммутации пакетов (табл. 1.1). Сеть ARPANET была развернута в 1969 г. и состояла поначалу всего из четырех узлов с коммутацией пакетов, используемых для взаимодействия горстки 4
хостов и терминалов. Первые линии связи, соединявшие узлы, работали на скорости всего 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 представлен график, показывающий динамику роста числа хостов (как формально зарегистрированных, так и активно функционирующих). Рис. 1.1. Динамика роста числа хостов в Интернет (взято с сайта www.netcraft.com). 5
Возможно ли централизованное управление в такой глобальной сети? Ответ на данный вопрос будет отрицательным, поскольку, во-первых, данная сеть является транснациональной и, во-вторых, в силу исторических предпосылок ее формирования. Тем не менее, в Интернете могут проявляться опосредованные формы централизации в форме единой технической политики, согласованном наборе технических стандартов, назначении имен и адресов компьютеров и сетей, входящих в Интернет. То есть Интернет является децентрализованной сетью, что имеет свои достоинства и недостатки. 1. Достоинства: Легкость наращивания Интернета путем заключения соглашения между двумя ISP. 2. Недостатки: Сложность модернизации технологий и услуг Интернета, поскольку требуются согласованные усилия всех поставщиков услуг. Невысокая надежность услуг Интернета. Ответственность за работоспособность отдельных сегментов этой сети возлагается на поставщиков услуг Интернета. Существуют различные типы поставщиков услуг Интернета: просто поставщик услуг Интернета выполняет транспортную функцию для конечных пользователей – передачу их трафика в сети других поставщиков услуг Интернета; поставщик интернет-контента имеет собственные информационно-справочные ресурсы, предоставляя их содержание в виде веб-сайтов; поставщик услуг хостинга предоставляет свои помещения, каналы связи и серверы для размещения внешнего контента; поставщик услуг по доставке контента занимается только доставкой контента в многочисленные точки доступа с целью повышения скорости доступа пользователей к информации; поставщик услуг по поддержке приложений предоставляет клиентам доступ к крупным универсальным программным продуктам, например SAP R3; поставщик биллинговых услуг обеспечивает оплату счетов по Интернету; О роли стандартизации в Интернет Как следует из всего вышеизложенного, Интернет является очень сложной сетью, и соответственно такой же сложной является задача организации взаимодействия между устройствами сети. Для решения такого рода задач используется декомпозиция, т.е. разбиение сложной задачи на несколько более простых задач-модулей. Одной из концепций, реализующих декомпозицию, является многоуровневый подход. Такой подход дает возможность проводить разработку, тестирование и модификацию каждого отдельного уровня независимо от других уровней. Иерархическая 6
декомпозиция позволяет, перемещаясь в направлении от более низких к более высоким уровням переходить к более простому представлению решаемой задачи. Специфика многоуровневого представления сетевого взаимодействия состоит в том, что в процессе обмена сообщениями участвуют как минимум две стороны, для которых необходимо обеспечить согласованную работу двух иерархий аппаратнопрограммных средств. Каждый из уровней должен поддерживать интерфейс с выше- и нижележащими уровнями собственной иерархии средств и интерфейс со средствами взаимодействия другой стороны на том же уровне иерархии. Данный тип интерфейса называется протоколом (см. рисунок 1.2). Рис. 1.2. Организация взаимодействия между уровнями иерархии при иерархической декомпозиции в сети Интернет Иерархически организованный набор протоколов, достаточный для организации взаимодействия узлов в сети, называется стеком протоколов. В начале 80-х годов международные организации по стандартизации ISO (International Organization for Standardization), ITU (International Telecommunications Union) и другие разработали стандартную модель взаимодействия открытых систем OSI (Open System Interconnection). Назначение данной модели состоит в обобщенном представлении средств сетевого взаимодействия. Ее также можно рассматривать в качестве универсального языка сетевых специалистов ( справочной модели ). Поскольку сеть – это соединение разнородного оборудования, актуальной является проблема совместимости, что в свою очередь, требует согласования всеми производителями общепринятых стандартов. Открытой является система, построенная в соответствии с открытыми спецификациями. Спецификация представляет собой формализованное описание аппаратных (программных) компонентов, способов их функционирования, взаимодействия с другими компонентами, условий эксплуатации, особых характеристик. Под открытыми спецификациями понимаются опубликованные, общедоступные спецификации, соответствующие стандартам и принятые в результате достижения согласия после всестороннего обсуждения всеми заинтересованными сторонами. Использование открытых спецификаций при разработке систем позволяет третьим сторонам разрабатывать для этих систем аппаратно-программные средства расширения и модификации, а также создавать программно-аппаратные комплексы из продуктов разных производителей. Если две сети построены с соблюдением принципов открытости, это дает следующие преимущества: 7
Возможность построения сети из аппаратных и программных средств различных производителей, придерживающихся стандарта; Безболезненная замена отдельных компонентов сети другими, более совершенными; Легкость сопряжения одной сети с другой. В рамках модели 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) 8
Основным организационным подразделением, координирующим работу по стандартизации Интернет, является 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. 9
Стек протоколов TCP/IP Эти протоколы изначально ориентированы на глобальные сети, в которых качество соединительных каналов не идеально. Он позволяет создавать глобальные сети, компьютеры в которых соединены друг с другом самыми разными способами от высокоскоростных оптоволоконных кабелей и спутниковых каналов до коммутируемых телефонных линий. TCP/IP соответствует модели OSI достаточно условно и содержит 4 уровня. Прикладной уровень стека соответствует трем верхним уровням модели OSI: прикладному, представления и сеансовому. В сети данные всегда передаются блоками относительно небольшого размера. Каждый блок имеет префиксную часть (заголовок), описывающую содержимое блока, и суффиксную, содержащую, например, информацию для контроля целостности передаваемого блока данных. Название стека протоколов TCP/IP состоит из названий двух разных протоколов. Протокол IP (Internet Protocol) представляет собой протокол нижнего (сетевого) уровня и отвечает за передачу пакетов данных в сети. Он относится к так называемым протоколам датаграмм и работает без подтверждений. Последнее означает, что при его использовании доставка пакетов данных не гарантируется и не подтверждается. Не гарантируется также и то, что пакеты достигнут пункта назначения в той последовательности, в которой они были отправлены. К протоколам сетевого уровня относится также протокол межсетевых управляющих сообщений ICMP (Internet Control Message Protocol), предназначенный для передачи маршрутизатором источнику информации об ошибках при передаче пакета. Очевидно, что намного удобнее передавать данные по каналу, который работает корректно, доставляя все пакеты по порядку. Поэтому над протоколом IP работает протокол передачи данных более высокого (транспортного) уровня — TCP (Transmission Control Protocol). Посылая и принимая пакеты через протокол IP, протокол TCP гарантирует доставку всех переданных пакетов данных в правильной последовательности. Следует отметить, что при использовании протокола IP обеспечивается более быстрая передача данных, так как не тратится время на подтверждение приема каждого пакета. Есть и другие преимущества. Одно из них заключается в том, что он позволяет рассылать пакеты данных в широковещательном режиме, при котором они достигают всех компьютеров физической сети. Что же касается протокола TCP, то для передачи данных с его помощью необходимо создать канал связи между компьютерами. Он и создается с использованием протокола IP. Для идентификации сетевых интерфейсов используются 3 типа адресов: аппаратные адреса (или MAC-адреса); сетевые адреса (IP-адреса); символьные (доменные) имена. 10