Что такое современный Интернет? Конспект лекции по информатике "интернет-технологии" Языки используемые в интернет технологиях лекция
Предмет и задачи курса Основы Интернет-технологий Предметом данного курса являются технологии глобальной сети World Wide Web В рамках курса будут рассмотрены такие вопросы как: Структура и принципы Веб (базовые понятия, архитектура, стандарты и протоколы); Технологии сети Веб (языки разметки и программирования веб-страниц – HTML, CSS и Java. Script, PHP, инструменты разработки и управления веб-контента и приложений для Веб, средства интеграции веб-контента и приложений в Веб). Сеть Веб представляет собой глобальное информационное пространство, основанное на физической инфраструктуре Интернета и протоколе передачи данных HTTP. Зачастую, говоря об Интернете, подразумевают именно сеть Веб.
История развития Интернет Хронология развития Интернета (с 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 млрд.
Стандартизация в Интернет Результат работы по стандартизации воплощается в документах RFC (англ. Request for Comments) - документ из серии пронумерованных информационных документов Интернета, содержащих технические спецификации и Стандарты, широко применяемые во Всемирной сети. Примеры популярных RFC-документов. Номер RFC 768 RFC 791 RFC 793 RFC 822 RFC 959 RFC 1034 RFC 1035 RFC 1591 RFC 1738 RFC 1939 RFC 2026 RFC 2045 RFC 2231 RFC 2616 RFC 2822 RFC 3501 Тема UDP IP TCP Формат электронной почты, заменен RFC 2822 FTP DNS - концепция DNS - внедрение Структура доменных имен URL Протокол POP версии 3 (POP 3) Процесс стандартизации в Интернете MIME Кодировка символов HTTP Формат электронной почты IMAP версии 4 издание 1 (IMAP 4 rev 1)
Консорциум W 3 C - организация, разрабатывающая и внедряющая технологические стандарты для Интернета и WWW. Миссия W 3 C формулируется следующим образом: "Полностью раскрыть потенциал Всемирной паутины путем создания протоколов и принципов, гарантирующих долгосрочное развитие Сети". Две другие важнейшие задачи Консорциума - обеспечить полную "интернационализацию Сети" и сделать ее доступной для людей с ограниченными возможностями. W 3 C разрабатывает для WWW единые принципы и стандарты, называемые "Рекомендациями", которые затем внедряются разработчиками программ и оборудования. Благодаря Рекомендациям достигается совместимость между программными продуктами и оборудованием различных компаний, что делает сеть WWW более совершенной, универсальной и удобной в использовании. Все Рекомендации W 3 C открыты, то есть, не защищены патентами и могут внедряться любым человеком без каких-либо финансовых отчислений Консорциуму. Для удобства пользователей Консорциумом созданы специальные программывалидаторы (англ. Online Validation Service), которые доступны по сети и могут за несколько секунд проверить документы на соответствие популярным Рекомендациям W 3 C.
Метод аналізу граничних умов Загальні правила методу аналізу граничних умов: побудувати тести для границь множини допустимих значень вхідних даних і тести з недопустимими значеннями, що відповідають незначному виходу за межі цієї множини. Наприклад, для множини [-1. 0; 1. 0] будуються тести -1. 0; -1. 001; На практиці з метою локалізації несправностей створюють також тести, що відповідають допустимим значенням, тобто є внутрішніми для множини та ті, що незначно відхиляються від граничних значень: -1. 0; -1. 001; 0. 999; - 0. 999
Структура и принципы WWW Сеть WWW образуют миллионы веб-серверов, расположенных по всему миру. Веб-сервер является программой, запускаемой на подключенном к сети компьютере и передающей данные по протоколу HTTP. Для идентификации ресурсов (зачастую файлов или их частей) в WWW используются идентификаторы ресурсов URI (Uniform Resource Identifier). Для определения местонахождения ресурсов в этой сети используются локаторы ресурсов URL (Uniform Resource Locator). Такие URL-локаторы представляют собой комбинацию URI и системы DNS. Доменное имя (или IP-адрес) входит в состав URL для обозначения компьютера (его сетевого интерфейса), на котором работает программа вебсервер. На клиентском компьютере для просмотра информации, полученной от вебсервера, применяется специальная программа - веб-браузер. Основная функция веб-браузера - отображение гипертекстовых страниц (веб-страниц). Для создания гипертекстовых страниц в WWW изначально использовался язык HTML. Множество веб-страниц образуют веб-сайт.
Прокси-серверы Прокси-сервер (proxy-server) - служба в компьютерных сетях, позволяющая клиентам выполнять косвенные запросы к другим сетевым службам. Сначала клиент подключается к прокси-серверу и запрашивает какой-либо ресурс, расположенный на другом сервере. Затем прокси-сервер либо подключается к указанному серверу и получает ресурс у него, либо возвращает ресурс из собственного кеша (если имеется). В некоторых случаях запрос клиента или ответ сервера может быть изменен проксисервером в определенных целях. Также прокси-сервер позволяет защищать клиентский компьютер от некоторых сетевых атак.
Протоколы Интернет прикладного уровня Самый верхний уровень в иерархии протоколов Интернет занимают следующие протоколы прикладного уровня: DNS - распределенная система доменных имен, которая по запросу, содержащему доменное имя хоста сообщает IP адрес; HTTP - протокол передачи гипертекста в Интернет; HTTPS - расширение протокола HTTP, поддерживающее шифрование; FTP (File Transfer Protocol - RFC 959) - протокол, предназначенный для передачи файлов в компьютерных сетях; FTP позволяет подключаться к серверам FTP, просматривать содержимое каталогов и загружать файлы с сервера или на сервер; кроме того, возможен режим передачи файлов между серверам; FTP позволяет обмениваться файлами и выполнять операции над ними через TCP-сети. Данный протокол работает независимо от операционных систем. Telnet (TELecommunication NETwork - RFC 854) - сетевой протокол для реализации текстового интерфейса по сети; Протокол telnet работает в соответствии с принципами архитектуры "клиент-сервер" и обеспечивает эмуляцию алфавитно-цифрового терминала, ограничивая пользователя режимом командной строки. Приложение telnet предоставило язык для общения терминалов с удаленными компьютерами. SSH (Secure Shell - RFC 4251) - протокол прикладного, позволяющий производить удаленное управление операционной системой и передачу файлов. В отличие от Telnet шифрует весь трафик; Сходен по функциональности с протоколами telnet и rlogin, но, в отличие от них, шифрует весь трафик, включая и передаваемые пароли. SSH-клиенты и SSH-серверы имеются для большинства операционных систем.
Почтовые протоколы. POP 3(Post Office Protocol Version 3 - RFC 1939) – протокол почтового клиента, который используется почтовым клиентом для получения сообщений электронной почты с сервера; IMAP (Internet Message Access Protocol - RFC 3501) - протокол доступа к электронной почте в Интернет. Аналогичен POP 3, однако предоставляет пользователю богатые возможности для работы с почтовыми ящиками, находящимися на центральном сервере. Электронными письмами можно манипулировать с компьютера пользователя (клиента) без необходимости постоянной пересылки с сервера и обратно файлов с полным содержанием писем; SMTP(Simple Mail Transfer Protocol - RFC 2821) – протокол, который используется для отправки почты от пользователей к серверам и между серверами для дальнейшей пересылки к получателю. Для приема почты почтовый клиент должен использовать протоколы POP 3 или IMAP; .
Протокол HTTP (Hyper. Text Transfer Protocol - RFC 1945, RFC 2616) - протокол прикладного уровня для передачи гипертекста. Все программное обеспечение для работы с протоколом HTTP разделяется на три основные категории: Серверы - поставщики услуг хранения и обработки информации (обработка запросов). Клиенты - конечные потребители услуг сервера (отправка запросов). Прокси-серверы для поддержки работы транспортных служб. Основными клиентами являются браузеры например: Internet Explorer, Opera, Mozilla Firefox, Google Chrome, Safari и другие. Наиболее популярными реализациями веб-серверов являются: Internet Information Services (IIS), Apache, lighttpd, nginx. Наиболее известные реализации прокси -серверов: Squid, User. Gate, Multiproxy, Naviscope.
Cхема HTTP-сеанса Установление TCP-соединения. Запрос клиента. Ответ сервера. Разрыв TCP-соединения. Таким образом, клиент посылает серверу запрос, получает от него ответ, после чего взаимодействие прекращается. Обычно запрос клиента представляет собой требование передать HTML-документ или какой-нибудь другой ресурс, а ответ сервера содержит код этого ресурса. В состав HTTP-запроса, передаваемого клиентом серверу, входят следующие компоненты. Строка состояния (строка-статус или строка запроса). Поля заголовка. Пустая строка. Тело запроса. Строку состояния вместе с полями заголовка иногда называют также заголовком запроса.
Методы запроса Метод, указанный в строке состояния, определяет способ воздействия на ресурс, URL которого задан в той же строке. Метод может принимать значения GET, POST, HEAD, PUT, DELETE и т. д. Несмотря на обилие методов, для веб-программиста понастоящему важны лишь два из них: GET и POST. GET - предназначается для получения ресурса с указанным URL. Получив запрос GET, сервер должен прочитать указанный ресурс и включить код ресурса в состав ответа клиенту. Ресурс, URL которого передается в составе запроса, не обязательно должен представлять собой HTML-страницу, файл с изображением или другие данные. URL ресурса может указывать на исполняемый код программы, который, при соблюдении определенных условий, должен быть запущен на сервере. В этом случае клиенту возвращается не код программы, а данные, сгенерированные в процессе ее выполнения. Несмотря на то что, по определению, метод GET предназначен для получения информации, он может применяться и в других целях. Метод GET вполне подходит для передачи небольших фрагментов данных на сервер. POST - основное назначение - передача данных на сервер. Однако, подобно методу GET, метод POST может применяться по-разному и нередко используется для получения информации с сервера. Как и в случае с методом GET, URL, заданный в строке состояния, указывает на конкретный ресурс. Метод POST также может использоваться для запуска процесса. Методы HEAD и PUT являются модификациями методов GET и POST.
Элементы заголовка запроса (продолжение) Версия протокола HTTP, как правило, задается в следующем формате: HTTP/версия. модификация Поля заголовка, следующие за строкой состояния, позволяют уточнять запрос, т. е. передавать серверу дополнительную информацию. Поле заголовка имеет следующий формат: Имя_поля: Значение Назначение поля определяется его именем, которое отделяется от значения двоеточием.
Поля заголовка запроса HTTP. Поля заголовка Значение HTTP-запроса Host Доменное имя или IP-адрес узла, к которому обращается клиент Referer URL документа, который ссылается на ресурс, указанный в строке состояния From Адрес электронной почты пользователя, работающего с клиентом Accept MIME-типы данных, обрабатываемых клиентом. Это поле может иметь несколько значений, отделяемых одно от другого запятыми. Часто поле заголовка Accept используется для того, чтобы сообщить серверу о том, какие типы графических файлов поддерживает клиент Accept-Language Набор двухсимвольных идентификаторов, разделенных запятыми, которые обозначают языки, поддерживаемые клиентом Accept-Charset Content-Type Content-Length Перечень поддерживаемых наборов символов MIME-тип данных, содержащихся в теле запроса (если запрос не состоит из одного заголовка) Число символов, содержащихся в теле запроса (если запрос не состоит из одного заголовка) Range Присутствует в том случае, если клиент запрашивает не весь документ, а лишь его часть Connection Используется для управления TCP-соединением. Если в поле содержится Close, это означает, что после обработки запроса сервер должен закрыть соединение. Значение Keep-Alive предлагает не закрывать TCP-соединение, чтобы оно могло быть использовано для последующих запросов Информация о клиенте User-Agent
Пример HTML-запроса, сгенерированного браузером GET http: //oak. oakland. edu/ HTTP/1. 0 Connection: Keep-Alive User-Agent: Mozilla/4. 04 (Win 95; I) Host: oakland. edu Accept: image/gif, image/x-xbitmap, image/jpeg, image/png, */* Accept-Language: en Accept-Charset: iso-8859 -l, *, utf-8 Получив от клиента запрос, сервер должен ответить ему. Знание структуры ответа сервера необходимо разработчику веб-приложений, так как программы, которые выполняются на сервере, должны самостоятельно формировать ответ клиенту.
Ответ сервера также состоит из четырех перечисленных ниже компонентов. Строка состояния. Поля заголовка. Пустая строка. Тело ответа. Ответ сервера клиенту начинается со строки состояния, которая имеет следующий формат: Версия_протокола Код_ответа Пояснительное_сообщение Версия_протокола задается в том же формате, что и в запросе клиента, и имеет тот же смысл. Код_ответа - это трехзначное десятичное число, представляющее в закодированном виде результат обслуживания запроса сервером. Пояснительное_сообщение дублирует код ответа в символьном виде. Это строка символов, которая не обрабатывается клиентом. Она предназначена для системного администратора или оператора, занимающегося обслуживанием системы, и является расшифровкой кода ответа.
Код ответа сервера Из трех цифр, составляющих код ответа, первая (старшая) определяет класс ответа, остальные две представляют собой номер ответа внутри класса. Например, если запрос был обработан успешно, клиент получает следующее сообщение: HТТР/1. 0 200 ОК За версией протокола HTTP 1. 0 следует код 200. В этом коде символ 2 означает успешную обработку запроса клиента, а остальные две цифры (00) - номер данного сообщения. В используемых в настоящее время реализациях протокола HTTP первая цифра не может быть больше 5 и определяет следующие классы ответов: 1 - специальный класс сообщений, называемых информационными. Код ответа, начинающийся с 1, означает, что сервер продолжает обработку запроса. При обмене данными между HTTP-клиентом и HTTP-сервером сообщения этого класса используются достаточно редко. 2 - успешная обработка запроса клиента. 3 - перенаправление запроса. Чтобы запрос был обслужен, необходимо предпринять дополнительные действия. 4 - ошибка клиента. Как правило, код ответа, начинающийся с цифры 4, возвращается в том случае, если в запросе клиента встретилась синтаксическая ошибка. 5 - ошибка сервера. По тем или иным причинам сервер не в состоянии выполнить запрос.
Классы кодов ответов сервера Код 100 Расшифровка Continue Интерпретация Часть запроса принята, и сервер ожидает от клиента продолжения запроса 200 OK 201 202 Created Accepted Запрос успешно обработан, и в ответе клиента передаются данные, указанные в запросе В результате обработки запроса был создан новый ресурс Запрос принят сервером, но обработка его не окончена. Данный код ответа не гарантирует, что запрос будет обработан без ошибок. 206 Partial Content 301 Multiple Choice 302 400 403 404 405 500 501 Moved Permanently Moved Temporarily Bad Request Forbidden Not Found Method Not Allowed Internal Server Error Not Implemented 503 505 Сервер возвращает часть ресурса в ответ на запрос, содержавший поле заголовка Range Запрос указывает более чем на один ресурс. В теле ответа могут содержаться указания на то, как правильно идентифицировать запрашиваемый ресурс Затребованный ресурс больше не располагается на сервере Затребованный ресурс временно изменил свой адрес В запросе клиента обнаружена синтаксическая ошибка Имеющийся на сервере ресурс недоступен для данного пользователя Ресурс, указанный клиентом, на сервере отсутствует Сервер не поддерживает метод, указанный в запросе Один из компонентов сервера работает некорректно Функциональных возможностей сервера недостаточно, чтобы выполнить запрос клиента Service Unavailable Служба временно недоступна HTTP Version not Supported Версия HTTP, указанная в запросе, не поддерживается сервером
Поля заголовка ответа веб-сервера. Имя поля Server Описание содержимого Имя и номер версии сервера Age Время в секундах, прошедшее с момента создания ресурса Allow Список методов, допустимых для данного ресурса Content. Language Языки, которые должен поддерживать клиент для того, чтобы корректно отобразить передаваемый ресурс Content-Type MIME-тип данных, содержащихся в теле ответа сервера Content-Length Число символов, содержащихся в теле ответа сервера Last-Modified Дата и время последнего изменения ресурса Date Дата и время, определяющие момент генерации ответа Expires Дата и время, определяющие момент, после которого информация, переданная клиенту, считается устаревшей Location В этом поле указывается реальное расположение ресурса. Оно используется для перенаправления запроса Cache-Control Директивы управления кэшированием. Например, no-cache означает, что данные не должны кэшироваться
Пример ответа на запрос HTTP/1. 1 200 OK Server: Microsoft-IIS/5. 1 X-Powered-By: ASP. NET Date: Mon, 20 OCT 2008 11: 25: 56 GMT Content-Type: text/html Accept-Ranges: bytes Last-Modified: Sat, 18 Oct 2008 15: 05: 44 GMTE Tag: "b 66 a 667 f 948 c 92: 8 a 5 « Content-Length: 426
Уже через несколько лет специалисты DARPA начали работу над крупной децентрализованной компьютерной сетью ARPANet ( Advanced Research Project Agency Network ), днем рождения которой считается 29 октября 1969 г., когда была предпринята первая удачная попытка удаленного соединения между двумя компьютерами, находившимися в исследовательском центре Стэнфордского университета и Калифорнийском университете в Лос-Анджелесе. Эти компьютеры и стали первыми узлами будущей сети ARPANet .
С момента появления ARPANet по сегодняшний день Интернет прошел долгий путь , основные вехи которого вкратце представлены ниже. Более подробную информацию об истории возникновения и развития Интернета можно почерпнуть из многочисленных публикаций в Сети.
1970-е годы | Разработана первая программа для отправки электронной почты по сети, появились первые списки почтовой рассылки, новостные группы и доски объявлений. К сети подключились первые международные сетевые узлы, расположенные в Великобритании и Норвегии, ARPANet вышла на международный уровень. Начали развиваться протоколы передачи данных TCP/IP. |
1980-е годы | Стандартизированы протоколы передачи данных TCP/IP. Сеть ARPANet перешла с протокола NCP на TCP/IP. Разработана система доменных имен, или DNS. Создана магистраль NSFNet . Термин "Интернет" закрепился за сетью ARPANet . |
1990-е годы | Сеть ARPANet прекратила свое существование, уступив NSFNet . Всемирная паутина стала доступна в Интернете. Разработаны протокол HTTP, язык HTML и идентификаторы URI. Создан первый графический браузер Mosaic . Образован Консорциум всемирной паутины (W3C). Всемирная паутина полностью подменила собой понятие "Интернет". Число зарегистрированных доменных имен превысило 2 млн. |
Современный Интернет ( Internet , Interconnected Networks - соединенные сети) представляет собой " сеть сетей", узлами которой являются не отдельные компьютеры, а целые компьютерные сети , каждая из которых управляется независимыми операторами. Она не имеет центра управления, однако работает по единым правилам и предоставляет пользователям единые услуги.
В качестве наиболее общего определения термина " Интернет " можно привести следующее определение , взятое из книги "Doctor Bob’s Guide to Offline Internet Access " (" Доступ к Интернет через электронную почту", 1995 г.), в переводе Вадима Федорова: " Internet (сущ.) - бурно разросшаяся совокупность компьютерных сетей, опутывающих земной шар, связывающих правительственные, военные, образовательные и коммерческие институты, а также отдельных граждан, с широким выбором компьютерных услуг, ресурсов, информации. Комплекс сетевых соглашений и общедоступных инструментов Сети разработан с целью создания одной большой сети, в которой компьютеры, соединенные воедино, взаимодействуют, имея множество различных программных и аппаратных платформ".
Основные протоколы сети Интернет
Основными протоколами сети Интернет являются протоколы стека TCP/IP. Термин TCP/IP характеризует все, что связано с протоколами взаимодействия между компьютерами в сети Интернет. Протокол TCP/IP получил свое название от названия двух коммуникационных протоколов :
- Transmission Control Protocol - TCP (протокол контроля передачи данных)
- Internet Protocol - IP (протокол передачи данных между сетями Интернет).
Протокол IP отвечает за адресацию в сети и доставку пакетов данных между компьютерами без установления соединения и гарантий доставки. Каждому компьютеру в сети присваивается уникальный IP-адрес, который представляется как четыре десятичных числа ( октеты ), разделенных точками. Значение любого октета может изменяться от 0 до 255, например, 149.76.12.4. В IP-адресе выделяют две части: сетевую часть (адрес локальной сети) и адрес компьютера в этой локальной сети. Сетевая часть адреса может иметь переменную длину, которая зависит от класса IP-адреса и некоторых других параметров. Выделяют несколько классов IP-адресов.
Класс А | Сети с адресами от 1.0.0.0 до 127.0.0.0. Сетевой номер содержится в первом октете (1-127), что предусматривает 126 сетей по 1.6 миллионов компьютеров в каждой сети каласса А. |
Класс В | Сети с адресами от 128.0.0.0 до 191.255.0.0. Сетевой номер находится в первых двух октетах (128.0 – 191.255), что предусматривает 16320 сетей с 65024 компьютерами в каждой. |
Класс С | Сети с адресами от 192.0.0.0 до 223.255.255.0. Сетевой номер содержится в первых трех октетах (192.0.0 - 223.255.255). Это предполагает почти 2 миллиона сетей по 254 компьютеров в каждой. |
Классы D | Сети с адресами от 224.0.0.0 до 239.255.255.0. Адреса являются групповыми ( multicast ). Адреса зарезервированы для организации теле- и радиовещания на группы компьютеров. |
Классы E и F | Сети с адресами от 240.0.0.0 до 254.0.0.0. Являются экспериментальными и не определяют какую-либо сеть. |
IP-адреса могут назначаться вручную или динамически. Для динамической настройки сети используется специальный протокол DHCP (Dynamic Host Configuration Protocol). С его помощью можно настраивать компьютер пользователя несколькими способами. При ручном способе настройки администратор должен настроить соответствие IP-адресов физическим адресам. При использовании статического способа администратор указывает DHCP-серверу диапазон допустимых IP-адресов. При первом соединении клиент получает адрес из этого диапазона, а сервер устанавливает соответствие выданному IP-адресу физического адреса устройства-клиента. В случае динамического способа настройки IP-адрес выдается из допустимого диапазона, но на определенное время. В этом случае можно построить сеть, в которой количество клиентов значительно превышает количество допустимых IP-адресов.
Протокол TCP позволяет устанавливать виртуальный канал передачи данных между компьютерами. В функции данного протокола входит деление данных на пакеты, подтверждение факта получения пакетов принимающей стороной и повторная передача пакетов в случае необходимости. Кроме того, в протоколе TCP реализованы сложные механизмы регулирования загрузки сети и устранения заторов.
Система доменных имен DNS
Несмотря на то, что адресация в рамках сетей TCP/IP происходит строго по IP-адресам, для пользователя более удобно использование символьных или доменных имен.
Доменное имя – это символьный адрес, имеющий строгую иерархическую структуру, например, . В доменном адресе справа указывается домен верхнего уровня, состоящий из двух, трех или четырех букв. Двухбуквенный домен указывает на географическое расположение ресурса, например, ru - Россия, us - США и т.д. Трех- и четырехбуквенные домены используются для обозначения принадлежности организации к различным видам. Например, com - коммерческая организация, edu - образовательное учреждение и т.д.
В сетях TCP/IP соответствие между доменными именами и IP-адресами определяется централизованной службой DNS (Domain Name Service), использующей распределенную базу отображений " доменное имя – IP-адрес". Под распределенностью базы подразумевается то, что DNS-серверы распределены по всему миру, на каждом из которых находится какая-то часть от этой базы.
Алгоритм работы DNS можно описать следующим образом. Пользователь в окне браузера вводит доменное имя определенного ресурса. Компьютер пользователя отправляет запрос об установлении IP-адреса по введенному доменному имени на первый DNS-сервер , IP-адрес которого обычно устанавливается провайдером. Если в базе данных сервера имеется соответствующая запись " доменное имя – IP-адрес", то IP-адрес возвращается компьютеру пользователя. Если же в базе данных такая информация отсутствует, то запрос передается на DNS-сервер более высокого уровня, а в случае необходимости, на DNS-сервер , отвечающий за данную зону доменных имен. Ответ от сервера по цепочке вернется к компьютеру пользователя. Такая схема наиболее распространена, однако возможна и другая. Если в базе данных сервера отсутствует запрашиваемая запись " доменное имя - IP-адрес", то пользователю будет возвращен IP-адрес DNS-сервера более высокого уровня, и компьютер пользователя впоследствии сам выполнит запросы к последующим DNS-серверам.
Всемирная паутина (World Wide Web)
С появлением Интернета стал возможным свободный обмен информацией пользователями во всем мире. Однако долгое время Интернет позволял лишь обмениваться файлами и неформатированным текстом. Лишь после возникновения Всемирной паутины в конце 80-х гг. XX века появилась универсальная среда, с помощью которой стало возможно обмениваться информацией любого типа. Тремя главными компонентами Всемирной паутины стали язык разметки гипертекста HTML ( HyperText Markup Language ), универсальный идентификатора ресурса URL ( Uniform Resource Locator ) и протокол обмена гипертекстовой информацией HTTP ( HyperText Transfer Protocol ).
Всемирную паутину можно определить как распределенную информационную систему, основанную на гипертексте. В распределенных системах информация хранится на так называемых веб-серверах, т.е. компьютерах со специальным программным обеспечением, являющихся узлами сети. Информация во Всемирной паутине представляется в виде веб-страниц, которые хранятся на веб-серверах в виде связанных наборов, называемых сайтами. Пользователи сети получают доступ к этой информации с помощью браузеров, специальных программ-клиентов для просмотра HTML-документов. Браузер обеспечивает взаимодействие с веб-серверами по протоколу HTTP и, получив данные в формате HTML, правильно отображают их на экране.
Сеть Интернет - это Всемирная компьютерная сеть, составленная из локальных и глобальных компьютерных сетей, объединенных на основе стандартных соглашений о способах обмена информацией и единой системой адресации.
Слово Интернет происходит от словосочетания Interconnected networks (связанные сети), то есть в узком смысле это глобальное сообщество малых и больших сетей . Однако в последнее время у этого слова появился и более широкий смысл: Всемирная компьютерная сеть . В физическом смысле Internet - это несколько миллионов компьютеров, связанных между собой всевозможными линиями связи. Лучше рассматривать Internet как некое информационное пространство.
Федеральный сетевой совет (FNC) определяет термин «Интернет» так: «Интернет - это глобальная информационная система, которая:
1) логически взаимосвязана пространством глобальных уникальных адресов, основанных на Интернет-протоколе (IP) или на последующих расширениях или преемниках IP;
2) способна поддерживать коммуникации с использованием семейства протокола управления передачей/Интернет-протокола (TCP/IP) или его последующих расширений/преемников и/или других IP-совместимых протоколов;
3) обеспечивает, использует или делает доступной, на общественной или частной основе, высокоуровневые сервисы, надстроенные над описанной здесь коммуникационной и иной связанной с ней инфраструктурой».
Историческая справка
Прообраз сети Интернет начал создаваться в конце 1960-х гг. по заказу Министерства обороны США. Днем рождения сети Интернет можно считать 2 января 1969 г. В этот день Агентство перспективных исследований Министерства обороны США (U.S. Defense Department"s Advanced Research Project Agency - ARPA) начало работу над проектом связи компьютеров оборонных организаций. В результате выполнения этого проекта была создана сеть ARPANET.
При создании сети преследовалось несколько целей, однако одной из основных было создание сети, устойчивой к частичным повреждениям, получаемым во время ведения военных действий, в том числе и ядерной войны. С самого начала предполагалось, что связь в сети является ненадежной: любой ее сегмент может быть поврежден или уничтожен, но сеть должна была обеспечивать связь между уцелевшими компьютерами.
Следующим этапом в развитии Интернета следует считать создание сети научного фонда США (NSF). Сеть, названная NSFNET и объединяющая научные центры Соединенных Штатов, основывалась на пяти суперкомпьютерах, соединенных между собой высокоскоростными линиями связи. Сеть NSFNET быстро заняла место ARPANET, которая в 1990 г. была ликвидирована.
Быстрый рост числа пользователей сети требовал ее постоянной реорганизации, и в 1987 г. был создан NSFNET Backbon - базовая часть или хребет сети. Хребет состоял из тринадцати центров, соединенных друг с другом высокоскоростными линиями связи. Центры располагались в разных частях США. Одновременно были созданы национальные сети в других странах. Компьютерные сети разных стран стали объединяться, и в 1990-х гг. сформировалась сеть Интернет в сегодняшнем виде.
Одним из последних и наиболее важных событий в истории Интернета стала разработка так называемой всемирной паутины - среды World Wide Web (WWW). История WWW началась в марте 1989 г., когда Т.Б. Ли выступил с проектом телекоммуникационной среды для проведения совместных исследований в области физики высоких энергий. В 1991 г. Европейская лаборатория практической физики (CERN) объявила на весь мир о создании новой глобальной информационной среды WWW .
Концепция этой среды состоит в том, что документ, к которому будет возможен доступ через Интернет, определенным образом форматируется с помощью гипертекстового языка. Информация может быть найдена в сети посредством так называемого универсального локатора ресурсов (URL) и отображена с помощью навигационных программ-браузеров. Одной из первых наиболее удачных таких программ была программа Mosaic. Появление WWW и программ-браузеров позволило работать в Интернете не только программистам, но и новичкам.
Сейчас Интернет объединяет тысячи разных сетей, расположенных по всему миру.
Пользователь Internet может получить доступ к ресурсам других сетей благодаря существованию межсетевых шлюзов . Под шлюзом принято понимать специализированный узел (рабочую станцию, компьютер) локальной сети, обеспечивающий доступ других узлов данной локальной сети к внешней сети передачи данных и другим вычислительным сетям. Говоря о межсетевом шлюзе, часто подразумевают и аппаратные, и программные средства, обеспечивающие межсетевую связь.
Передача информации в Internet происходит небольшими порциями данных, имеющими строго определенную структуру и называемыми пакетами . Каждый пакет снабжается заголовком, который содержит служебную информацию (адреса отправителя и получателя, идентификатор сообщения, номер пакета в сообщении и т.д.). Сообщение может быть разбито на несколько пакетов, размер которых может варьироваться.
Важнейшим моментом при функционировании Internet является стандартизированный свод правил передачи пакетов данных в сети и за ее пределы в рамках межсетевого обмена, закрепленный базовым транспортным протоколом ТСР (Transmission Control Protocol) и межсетевым протоколом IP (Internet Protocol). Протокол ТСР дает название всему семейству протокол ТСР/IP, главной задачей которых является объединение в сети пакетных подсетей через шлюзы.
Протокол - это правила, предписанные компьютерам для работы в сети Интернет. В одном протоколе описать все правила взаимодействия компьютеров невозможно. Поэтому сетевые протоколы строятся по многоуровневому принципу. На нижнем уровне используются два основных протокола: IP-Internet Protocol (Протокол Интернет) и TCP-Transmission Control Protocol (Протокол управления передачей).
Протокол IP обеспечивает маршрутизацию (доставку по адресу) сетевых пакетов. Протокол TCP является протоколом высшего уровня, который отвечает за надежность передачи больших объемов информации, обрабатывает и устраняет сбои в работе сети. ТСР-протокол делит длинные сообщения на несколько пакетов, каждый из которых затем помещается в TCP-конверт и после этого в IP-конверт. Каждый TCP-конверт помечается определенным образом, чтобы после разбивки сообщение вновь можно было собрать в единое целое.
Протоколы TCP и IP тесно взаимосвязаны, и их часто объединяют, говоря, что в Интернете базовым является протокол TCP/IP.
Услуги в Интернет предоставляет Интернет-провайдер или ISP (Internet Service Provider - поставщик услуг Интернета).
ISP - это организация, которая имеет собственную высокоскоростную сеть, объединенную с другими сетями по всему земному шару. Провайдер подключает к своей сети клиентов, которые становятся частью сети данного провайдера и одновременно частью всех объединенных сетей, которые и составляют Интернет.
Обычно ISP-провайдеры - это крупные компании, которые в нескольких населенных пунктах имеют так называемые точки присутствия (POP - Point of Presence) - точки, в которых расположено аппаратное обеспечение провайдера для подключения к Интернету его клиентов. Крупный провайдер может иметь десятки точек присутствия в разных городах и тысячи клиентов.
Существуют также местные провайдеры, предоставляющие услуги в одном городе.
Подключаясь к Интернет, пользователь дозванивается до провайдера с помощью модема по телефонной линии, и устанавливает связь с одним из многочисленных модемов провайдера из модемного накопителя (так называемого модемного пула).
После того как пользователь подключился к своему ISP, он становится частью его сети. Для объединения своих клиентов в одну сеть провайдеры устанавливают между собой прямое соединение с помощью так называемых точек сетевого доступа (NAP - Network Access Points) в разных городах.
В Internet каждой машине приписан определенный адрес , по которому к ней и осуществляется доступ в рамках одного из стандартных протоколов, причем существует одновременно как числовая адресация (так называемый IP - адрес, состоящий из набора чисел, разделенных точками, например, 128.29.15.21, так и более удобная для восприятия человеком система осмысленных доменных имен (например, WWW.glasnet.ru). Доменные имена - это уникальные символические идентификаторы. Доменное имя обычно состоит из двух - четырех слов, называемых доменами, при этом старший (правый) указывает либо на страну, в которой находится узел, либо на тип организации (в США). Например, UK означает Великобританию, RU (или SU) - Россию, DE - Германию; COM - коммерческие организации США, EDU - университеты США. Следующий домен обозначает узел (провайдера); иногда в доменном имени появляются младшие домены, указывающие на подсети данного узла (например, ames.arc.nasa.gov). Младшее (левое) слово символического адреса - это имя компьютера или сервера данного узла.
В примере: WWW.glasnet.ru - это Webсервер российского узла Glasnet.
Для присвоения и преобразования символических адресов в понятные компьютеру физические адреса (IP адреса) в Internet создана специальная служба, которая называется DNS (Domain Name System - система именования компьютеров в сети). Специальные серверы DNS на узлах сети извлекают из баз данных символические имена и заменяют их физическими адресами компьютеров.
Чтобы найти в Интернете какой-либо документ, достаточно знать ссылку на него - так называемый универсальный указатель на ресурс (URL - Uniform Resource Locator), который определяет местонахождение каждого файла, хранящегося на компьютере, подключенном к Интернету.
Адрес URL является сетевым расширением понятия полного имени ресурса в операционной системе. В URL, кроме имени файла и директории, где он находится, указывается сетевое имя компьютера, на котором этот ресурс расположен, и протокол доступа к ресурсу, который можно использовать для обращения к нему.
Первая часть http:// (HyperText Transfer Protocol-протокол передачи гипертекста, по которому обеспечивается доставка документа с web-сервера web-браузеру) указывает программе просмотра (браузеру), что для доступа к ресурсу применяется данный сетевой протокол.
Вторая часть www.fakit.ru указывает на доменное имя и адресует конкретный компьютер или группу компьютеров, выполняющих одинаковую задачу.
Третья часть users/admin показывает программе-клиенту, где на данном компьютере-сервере искать ресурс. В рассматриваемом случае ресурсом является файл admin, который находится в папке users.
9.2. Основные понятия (сайт, сокет, сервер, клиент). Web как пример архитектуры «клиент-сервер»
WWW (World Wide Web, Всемирная паутина) - самый популярный сервис Интернет, который определил столь массовое обращение к ресурсам сети. В самом общем плане WWW - это система Web-серверов , поддерживающая форматированные специальным образом документы (HTML-доку менты).
Служба WWW реализована в виде клиент-серверной архитектуры. Пользователь с помощью клиентской программы (браузера) осуществляет запрос к той или иной информации на сервере, а web-сервер обслуживает запрос браузера.
Браузер (навигатор) - это программа с графическим интерфейсом, которая обеспечивает обращение к искомому ресурсу на сервере по его URL. Браузер считывает запрашиваемый документ, форматирует его для представления пользователю и демонстрирует на клиентском компьютере.
Документ, доступный через Web, называют web-страницей , а группы страниц, связанных общим именем, темой и объединенных навигационно, - web-сайтами . Структуру web-сайта определяет система гиперссылок. Страницы на сайте могут иметь линейную древовидную структуру, но чаще на каждой странице имеется несколько ссылок, что и позволяет говорить о структуре «паутина». Первую страницу, которую видит пользователь при обращении на тот или иной ресурс, называют стартовой, домашней или индексной страницей (home page).
Гипертекст (Hypertext) - это документ (в первую очередь текстовый), содержащий гиперссылки. Гиперссылка - это связь слова или содержащегося в документе изображения с другим ресурсом, которым может быть как еще один документ, так и раздел текущего документа. Подобные «связанные» слова или картинки документа, как правило, выделяются по оформлению из общего текста. Общепринятой является практика подчеркивания слова или предложения, связанного гиперссылкой. Щелчок на гиперссылке приводит к тому, что браузер вызывает и размещает в своем окне документ, на который указывает гиперссылка. Таким образом, благодаря гипертексту web-страница приобретает свойство некоторой интерактивности.
Практическое применение идеи и сам термин «гипертекст» появился с возникновением электронных документов, задолго до появления службы WWW. Поскольку современные электронные документы содержат не только текст, но и мультимедиа-информацию (графика, звук), в качестве ссылок стали использовать не только текстовые, но и графические объекты - понятие гипертекста было расширено до понятия гипермедиа. Гипермедиа - это метод организации мультимедиа-информации на основе ссылок на разные типы данных.
Гипертекстовый документ представляет собой описание структуры и содержания документа, отображаемого в окне Интернет-браузера. Это описание создается посредством команд, сформированных на языке HTML (HyperText Markup Language - язык гипертекстовой разметки). Эти команды могут интерпретироваться и выполняться программой браузером, таким, например, как Microsoft Internet Explorer. Интерпретируя команды HTML, браузер создает визуальное изображение документа, собирая его из отдельных объектов и формируя web-страницу.
Гипертекстовые документы размещаются на web-серверах в виде файлов, содержащих отдельные web-страницы и образующих web-сайт. Web-сайт - это специальная папка, размещенная на web-сервере, в которой размещены файлы, содержащие текстовую информацию по какой-либо теме, а также информацию в виде рисунков, графиков, фотографий, анимационных изображений и звуковых эффектов. В этих файлах содержатся описания web-страниц на одном из языков разметки гипертекста - HTML или XML. Файлы имеют одно из следующих расширений: html, htm, xml. Существует три типа web-сайтов :
Создаваемые на web-сервере поставщика услуг Internet;
Создаваемые в интрасети как web-узлы группы;
Виртуальный web-сайт, который может быть создан на жестком диске автономного компьютера, не подключенного к какой-либо сети.
Информация на web-сайте размещается в виде отдельных страниц. Каждая web-страница имеет вполне определенное содержательное и функционально законченное назначение. Поэтому такие страницы называют информационными статьями. Все страницы (статьи) определенным образом связаны друг с другом так, чтобы обеспечить пользователю удобный переход от страницы к странице и быстрый поиск интересующей его информации. Как правило, эта связь организуется по принципу родовых (иерархических) или сетевых отношений.
Родовые отношения обеспечивают удобство при просмотре содержимого web-узла от общего к частному. Сетевые отношения создаются в тех случаях, когда целесообразно иметь возможность переходить с одних на другие страницы, для получения справочной либо уточняющей информации.
Каждая web-страница хранится в отдельном файле. Связь между web-страницами (файлами), обеспечивающая быстрый переход с одной страницы на другую и эффективный поиск нужной информации, устанавливается с помощью гиперссылок.
Одна из страниц выполняет роль главной . В ней должна содержаться информация о тематической направленности проекта, а также элементы, обеспечивающие навигацию по страницам и поиск нужной информации. Именно эта страница будет отображаться первой на дисплее пользователя. Так, если в адресную строку браузера ввести, например, DNS адрес www.fa.ru , то на самом деле будет сформирован URL адрес HTTP://www.fa.ru/index.htm и будет выполнена попытка найти и загрузить web-страницу именно с таким URL адресом. Поэтому файл, в котором хранится первая web-страница и с которой посетитель начнет движение по страницам узла, используя гинерссылки, должен иметь имя index.htm.
Папка web-сайта внутри себя должна содержать еще одну папку. Эта папка служит для хранения файлов, содержащих какие-либо графические изображения, которые предполагается отображать на web-страницах.
Возможности языка HTML таковы, что он обеспечивает только описание структуры HTML документа. Он, собственно, не является языком программирования. Для создания интерактивных гипертекстовых документов кроме языка HTML служат так называемые сценарии , представляющие собой программы, которые создаются на языках программирования, обеспечивающих их интерпретацию и выполнение браузером. Существует две разновидности таких языков - JavaScript и VBScript. Поэтому для того, чтобы создавать интерактивные гипертекстовые страницы, необходимо использовать язык HTML и один из приведенных языков программирования.
Для обеспечения сетевых коммуникаций используются сокеты . Сокет - это конечная точка сетевых коммуникаций. Каждый использующийся сокет имеет тип и ассоциированный с ним процесс. Сокеты существуют внутри коммуникационных доменов. Домены - это абстракции, которые подразумевают конкретную структуру адресации и множество протоколов, которое определяет различные типы сокетов внутри домена. Примерами коммуникационных доменов могут быть: UNIX домен, Internet домен, и т.д.
В Internet домене сокет - это комбинация IP адреса и номера порта, которая однозначно определяет отдельный сетевой процесс во всей глобальной сети Internet. Два сокета, один для хоста-получателя, другой для хоста-отправителя, определяют соединение для протоколов, ориентированных на установление связи, таких, как TCP.
Среда клиент-сервер .
Раньше сетевые системы основывались на модели централизованных вычислений, в которой один мощный сервер - мейнфрейм выполнял основную работу в сети, а пользователи получали доступ к нему при помощи недорогих и низкопроизводительных компьютеров - терминалов. В результате развития персональных компьютеров централизованную модель заменила модель клиент-сервер, предоставляющая при той же производительности возможности сетевой обработки данных.
В настоящее время большинство сетей использует модель клиент-сервер. Сеть архитектуры клиент-сервер - это сетевая среда, в которой компьютер-клиент инициирует запрос компьютеру-серверу, выполняющему этот запрос. Рассмотрим работу модели на примере системы управления БД - приложения, часто используемого в среде клиент-сервер. В модели клиент-сервер ПО клиента используется язык структурированных запросов SQL (Structured Query Language), который переводит запрос с языка, понятного пользователю, на язык, понятный машине. SQL близок к естественному английскому.
Клиент (пользователь) генерирует запрос с помощью интерфейсного приложения, которое обеспечивает интерфейс пользователя, формирует запросы и отображает данные, полученные с сервера. В клиент-серверной среде сервер не наделяется пользовательским интерфейсом. Представлением данных в удобной форме занимается сам клиент. Компьютер-клиент получает инструкции от пользователя, готовит их для сервера, а затем по сети посылает ему запрос. Сервер обрабатывает запрос, проводит поиск необходимых данных и отсылает их клиенту. Клиент в удобной для пользователя форме отображает полученную информацию. В клиент-серверной среде пользователь компьютера-клиента имеет дело с экранной формой. В ней он задает необходимые параметры информации. Интерфейсная часть одну и ту же информацию может представлять в различном виде.
Сервер в клиент-серверной среде обычно предназначен для хранения данных и управления ими. Именно сервер выполняет большинство операций с данными. Сервер называют также прикладной частью модели клиент-сервер, так как именно он выполняет запросы клиентов. Обработка данных на сервере состоит из их сортировки, извлечения затребованной информации и отправки ее по адресу пользователя. ПО предусматривает также обновление, удаление, добавление и защиту информации.
Технология клиент-сервер создает мощную среду, обладающую множеством реальных преимуществ. В частности, хорошо спланированная клиент-серверная система обеспечивает относительно недорогую платформу, которая обладает в то же время вычислительными возможностями мэйнфрейма и легко настраивается на выполнение конкретных задач. Кроме того, в среде клиент-сервер резко уменьшается сетевой трафик, так как по сети пересылаются только результаты запросов. Файловые операции выполняются в основном более мощным сервером, поэтому запросы лучше обслуживаются. Это означает, что нагрузка на сеть распределяется более равномерно, чем в традиционных сетях на основе файл-сервера. Уменьшается потребность компьютеров-клиентов в ОЗУ, так как вся работа с файлами выполняется на сервере. По этой же причине на компьютерах-клиентах уменьшается потребность в дисковом пространстве. Упрощается управление системой, контроль ее безопасности становится проще, так как все файлы и данные размещаются на сервере. Упрощается резервное копирование.
Как и любая другая сеть, Интернет состоит из множества компьютеров, соединенных между собой линиями связи, и установленного на этих компьютерах программного обеспечения.
Тип программного обеспечения определяется идеологией, называемой и описанной выше клиент/сервером, которая составляет основу всех сервисов Интернета. Каждая операция в сети Интернет состоит из взаимодействия трех элементов: клиента, сервера, сети Интернет.
Под словом «клиент» подразумевают программы, при помощи которых индивидуальный пользователь обращается к тому или иному сервису сети Интернет. Слово «сервер» сегодня имеет несколько значений. Это может быть программа, которая предоставляет клиентам различные данные, компьютер, на котором выполняется эта программа, или же сочетание компьютера и программы.
WWW - это глобальная гипертекстовая система, организованная на базе Internet. WWW представляет собой механизм, при помощи которого связывается информация, доступная посредством многочисленных Web-серверов во всем мире. Web-сервер - это программа, которая умеет получать http-запросы и выполнять в соответствии с этими запросами определенные действия, например запускать приложения и генерировать документы.
Модуль 2: Базовые Интернет - коммуникации и Web-технологии
Тема 5. Сетевые Интернет - коммуникации
Лекция №9. Интернет коммуникации: FTP, E-mail, мессенджеры, IP- телефония
Лекция №10. Системи цифрового вещания
Тема 6.
Web-технологии
Лекция №11. Технология создания Інтернет-узлов
Лекция №12. Языки программирования
Лекция №13. Разработка Web-сайтов
Тема 7.
Облачные технологии
Лекция №14. Облачные вычисления (cloud computing).
Тема 8. WEB–коммуникационные сервисы реального времени
Лекция №15. WEB–коммуникации и коммуникационные облачные Web сервисы на базе WebRTC
Тема 9. Современные телекоммуникационные технологии Інтернета вещей IoT
Лекция №16. Архитектура, протоколы и беспроводные технологии мереж IoT
Базовые Интернет-коммуникации и Web-технологии
Тема 5. Сетевые Интернет-коммуникации
Основные службы в Интернет
На серверах глобальной сети Интернет размещаются различные виды информации: файлы, веб-документы, звукозаписи и видеозаписи. К наиболее распространенным сетевым службам в Интернет, которые предоставляются Web-серверами сети, относятся:
- Word Wide Web (WWW) - всемирная паутина или распределенная система гипертекстовых документов, связанных между собой гиперссылками;
- FTP - служба передачи файлов;
- Электронная почта E-mail - служба передачи электронных сообщений в режиме оффлайн;
- Мессенджеры (ICQ, Skype, Miranda IM и т.д.) - сервисы для мгновенного обмена сообщениями, голосовой связи и видеосвязи в сети Интернет в режиме онлайн;.
- VoIP сервисы (Voice-over-IP - передача голоса в сетях IP) - это сервисы, которые предназначены для выполнения интернет-звонков на обычные телефоны;
- Telnet - служба доступа к компьютерам в режиме удаленного терминала;
- USENET, News - телеконференции, группы новостей (доски объявлений) или дискуссионные группы по различным темам;
- Archie - служба поиска данных и программ;
- Gopher - служба доступа к информации с помощью иерархических каталогов (иерархических меню);
- WAIS (WAIS реализует концепцию распределенной информационно-поисковой системы) служба поиска данных по ключевым словам;
- Whois - адресная книга сети Internet. По запросу пользователь может получить информацию о владельцах доменных имен;
- Потоковое вещание - служба для передачи и воспроизведение видео или звука по частям. Для просмотра потокового видео с видеохостинга используются различные варианты веб плееров.
Сетевые службы сети Internet можно разделить на две категории :
- службы, которые используют базы данных сети;
- службы, которые осуществляют обмен информацией между абонентами сети.
Практически все службы сети Интернет построены по принципу клиент-сервер. Сервер в сети - это компьютер или программа способные предоставлять некоторые сетевые услуги клиентам по их запросам. К клиентским программам относятся:
- браузеры - программы клиенты (прикладные программы) обеспечивает доступ практически ко всем информационным ресурсам Интернет, которые хранятся на Web-серверах;
- ftp-клиенты;
- telnet-клиенты;
- почтовые клиенты;
- WAIS-клиенты;
- Gopher - это программа-клиент и т.д.