Полубояров Валерий Викторович
Понятие Интернет Интернет - глобальная информационная сеть, части которой логически взаимосвязаны друг с другом посредством единого адресного пространства, основанного на протоколе TCP/IP. Интернет состоит из множества взаимосвязанных компьютерных сетей и обеспечивает удаленный доступ к сервисам сети Интернет. 2
Сервисы Интернет Сервисы Интернет - сервисы, предоставляемые в сети Интернет пользователям, программам, системам, уровням, функциональным блокам. В сети Интернет сервисы реализованы в виде сетевых служб, доступ к которым реализуется как из локальной, так и из глобальной сети. 3
Наиболее распространенные сервисы Интернет служба WWW; служба передачи файлов FTP; передача электронных сообщений и блоков данных ( ); Интернет-телефония - частный случай IP-телефонии, когда в качестве линий передачи телефонного трафика используются каналы сети Интернета. IP-телефония - технология, позволяющая использовать Интернет или другую IP-сеть в качестве средства организации и ведения международных и междугородных телефонных разговоров и передачи факсов в режиме реального времени. Интернет-вещание - динамическое изменение информации, передаваемой по каналам Интернета: новостные ленты, видео, аудио, сообщения о результатах выборов и т.д. 4
Служба WWW Служба WWW (World Wide Web) - основная служба в сети Интернет, позволяющая получать доступ к информации на любых серверах, подключенных к сети. Служба WWW представляет собой множество независимых, но взаимосвязанных серверов и предназначена для обмена текстовой, графической, аудио и видео информацией. Работая с Web, пользователь последовательно соединяется с Web-серверами и получает информацию. 5
Взаимодействие клиента и сервера по протоколу HTTP WWW построена по схеме "клиент-сервер". В качестве клиента выступает браузер, который является также и интерпретатором HTML. Как интерпретатор, браузер в зависимости от команд (тегов) выполняет различные функции: размещение текста на экране, обмен информацией с сервером по мере анализа полученного HTML-текста и др. 6
Гиперсреда и глобальное информационное пространство Служба WWW организована на принципах гиперсреды. Гиперсреда - технология представления информации в виде относительно небольших блоков, ассоциативно связанных друг с другом. WWW – это глобальное информационное пространство, основанное на физической инфраструктуре Интернета и протоколе передачи данных HTTP. Его образуют миллионы веб-серверов сети Интернет, расположенных по всему миру. WWW неразрывно связана с понятиями гипертекста и гиперссылки. 7
Web-сервер Web-сервер – это программное обеспечение, отвечающее за прием запросов браузеров, поиск указанных файлов и возращение их содержимого. Web-серверы хранят информацию в виде текстовых файлов, называемых страницами Web-сервера. Помимо текста, такие страницы могут содержать ссылки на другие страницы, ссылки на графические изображения, аудио- и видеоинформацию, различные объекты ввода данных (поля, кнопки, формы и т. д.), а также другие объекты. Страницы Web представляют собой связующее звено между объектами различных типов. Web-сервер - программа, запускаемая на подключённом к сети компьютере и использующая протокол HTTP для передачи данных. Такая программа получает по сети HTTP-запрос на определённый ресурс, находит соответствующий файл на локальном жёстком диске и отправляет его по сети запросившему компьютеру. Более сложные web- серверы способны динамически формировать ресурсы в ответ на HTTP- запрос. 8
Web-браузер Для доступа к информации, расположенной на web- серверах, пользователи применяют специальные клиентские программы браузеры. Web-браузер - это программное обеспечение для просмотра web-сайтов, то есть для запроса web- страниц из WWW, для их обработки и вывода, и для реализации перехода от одной страницы к другой. Браузер комплексное приложение для обработки и вывода разных составляющих web-страницы, и для предоставления интерфейса между web-сайтом и его посетителем. Браузер способен предварительно обрабатывать данные, отправляемые на сервер, а также обрабатывать и представлять результаты, полученные от сервера, в удобном для пользователя виде. 9
Взаимодействие браузера и web-сервера 10
Популярные браузеры и отличия между ними В настоящее время существует четыре наиболее популярных web-браузера. К ним относятся Internet Explorer (IE), Netscape, Opera и Firefox. Между браузерами существует ряд отличий, например: некоторые скрипты на языке JavaScript приводят к аварийному завершению IE, а браузеры, основанные на ядре Gecko, способны корректно их обрабатывать; некоторые HTML-тэги по-разному обрабатываются IE и Firefox; IE и Firefox имеют абсолютно разные модели сообщений; IE, в отличие от Firefox, не в полной мере поддерживает каскадируемые таблицы стилей Cascading Style Sheets (CSS) 2.0; Firefox, в отличие от IE, не имеет возможности запускать элементы управления ActiveX; последовательность обработки HTML-тэгов при визуализации страницы в отличается в различных браузерах, что иногда приводит к отличиям в получаемых страницах; некоторые атрибуты стилей работают в Firefox, но не работают в IE. 11
Обеспечение безопасности браузера Web-браузер является источником ряда угроз безопасности для компьютера пользователя. Некоторые web-страницы могут содержать вредоносный код. Для обеспечения большей устойчивости браузера к подобным страницам рекомендуется проделать следующие операции: запретить использование cookies; запретить выполнение сценариев JavaScript и VBScript, а также элементов управления ActiveX; запретить скачивание элементов управления ActiveX; запретить скачивание шрифтов; запретить всплывающие окна; ограничить использование Java. Это лишь краткий перечень настроек, которые можно произвести для того, чтобы сделать браузер безопасным. Проблемой является то, что это приведет к значительным ограничениям функций браузера, вплоть до полной невозможности его использования, как злоумышленником, так и пользователем. 12
Протокол HTTP Протокол передачи гипертекста HTTP (Hyper Text Transfer Protocol)- базирующийся на TCP/IP протокол передачи гипертекста, обеспечивающий доступ к документам на web-узлах. Основная задача протокола состоит в установлении связи с web- сервером и обеспечении доставки HTML- страниц web-браузеру клиента. 13
Функции HTTP Протокол HTTP: определяет взаимодействие партнеров на прикладном уровне; предназначен для передачи сообщений, являющихся блоками гипертекста; используется в службе глобального соединения. 14
Транспортный протокол для HTTP Транспортным протоколом для HTTP является протокол TCP, причем сервер HTTP (сервер Web) находится в состоянии ожидания соединения со стороны клиента стандартно по порту 80 TCP, а клиент HTTP (браузер Web) является инициатором соединения. 15
Доступ web-сервера к файловой системе Одной из важнейших функций сервера Web является предоставление доступа к части локальной файловой системы. Для этого в настройках сервера указывается некоторая директория, которая является корневой для данного сервера Web. Чтобы опубликовать документ, то есть сделать его доступным пользователям, "посещающим" данный сервер (осуществляющим с ним соединение по протоколу HTTP), нужно скопировать этот документ в корневую директорию Web- сервера или в одну из ее поддиректорий. При соединении по протоколу HTTP на сервере создается процесс с правами пользователя, как правило, не существующего реально, а специально созданного для просмотра ресурсов сервера. Настраивая права и разрешения данного пользователя, можно управлять доступом к ресурсам Web. 16
Запросы и ответы HTTP Взаимодействие между клиентом и сервером Web осуществляется путем обмена сообщениями. Сообщения HTTP делятся на запросы клиента серверу и ответы сервера клиенту. Запросы и ответы выглядят следующим образом: начальная строка заголовок 1 заголовок 2... заголовок N CR LF (пустая строка) тело сообщения (может отсутствовать). 17
Виды HTTP-заголовков Формат начальной строки (start-line) клиента и сервера различаются. Заголовки бывают четырех видов: общие заголовки (general-headers), которые могут присутствовать как в запросе, так и в ответе; заголовки запросов (request-headers), которые могут присутствовать только в запросе; заголовки ответов (response-headers), которые могут присутствовать только в ответе; заголовки объекта (entity-headers), которые относятся к телу сообщения и описывают его содержимое. 18
Общие заголовки и заголовки запроса Каждый заголовок состоит из названия, символа двоеточия ":" и значения. Наиболее важные заголовки: 19 Общие заголовки Connection Указывает серверу на завершение (close) или продолжение (keep-alive) сеанса Date Дата и время формирования сообщения Pragma Специальные, зависящие от реализации команды, касающиеся передаваемого содержимого (например, no-cache) Transfer-Encoding Способ кодирования сообщения при передаче (например, win1251, koi-8r) Заголовки запроса Accept Типы содержимого, которое клиент способен разработать и может воспроизвести Accept-Charset Кодировки символов, в которых клиент может принимать текстовое содержимое Accept-Encoding Способ, которым сервер может закодировать сообщение Host Хост и номер порта, с которого запрашивается документ If-Modified-Since If-Match If-None-Match If-Range If-Unmodified-Since Заголовки запроса для условного обращения к ресурсу Range Запрос части документа User-Agent Название программного обеспечения клиента
Заголовки ответа и объекта 20 Заголовки ответа Age Число секунд, через которое нужно повторить запрос для получения нового содержимого LocationURI ресурса, к которому нужно обратиться для получения содержимого Retry-After Дата и время или число секунд, через которое нужно повторить запрос, чтобы получить успешный ответ Server Название программного обеспечения сервера, приславшего ответ Заголовки объекта Allow Перечисляет поддерживаемые сервером методы Content-Encoding Способ, которым закодировано тело сообщения, например, с целью уменьшения размера Content-Length Длина сообщения в байтах Content-Type Тип содержимого и, возможно, некоторые параметры ETag Уникальный тэг ресурса на сервере, позволяющий сравнивать ресурсы Expires Дата и время, когда ресурс на сервере будет изменен, и его нужно получать заново Last-Modified Дата и время последней модификации содержимого
Тело сообщения В теле сообщения содержится собственно передаваемая информация. Тело сообщения представляет собой последовательность октетов (байтов). Тело сообщения может быть закодировано, например, для уменьшения объема передаваемой информации, при этом способ кодирования указывается в заголовке объекта Content-Encoding. 21
Запрос от клиента серверу Запрос от клиента к серверу состоит из строки запроса (request-line), заголовков (общих, запросов, объекта) и, возможно, тела сообщения. Строка запроса: 22
Основные команды протокола HTTP Основные команды протокола HTTP следующие: OPTIONS - Запрос информации об опциях соединения (например, методах, типах документов, кодировках), которые поддерживает сервер для запрашиваемого ресурса. Если идентификатор запрашиваемого ресурса – звездочка ("*"), то запрос предназначен для обращения к серверу в целом. GET - Позволяет получить информацию, связанную с запрашиваемым ресурсом. Если идентификатор запрашиваемого ресурса указывает на документ, то сервер возвращает содержимое этого документа (содержимое файла). Если запрашиваемый ресурс является приложением (программой), формирующим в процессе своей работы некоторые данные, то в теле сообщения ответа возвращаются эти данные. Если идентификатор запрашиваемого ресурса указывает на директорию (каталог, папку), то, в зависимости от настроек сервера, может быть возвращено либо содержимое директории (список файлов), либо содержимое одного из файлов, находящегося в этой директории (как правило, index.html). В случае запроса папки ее имя может указываться как с символом "/" на конце, так и без него. При отсутствии на конце идентификатора ресурса данного символа сервер выдает один из ответов с перенаправлением (с кодами статуса 301 или 302). Разновидностями команды GET является "условный GET" ("conditional GET") и "частичный GET" ("partial GET"). Условный GET запрашивает передачу объекта, только если он удовлетворяет условиям, описанным в приведенных заголовках. Частичный GET запрашивает передачу только части объекта. 23
Основные команды протокола HTTP HEAD - Идентична команде GET, за исключением того, что сервер не возвращает в ответе тело сообщения. POST - Используется для запроса, при котором адресуемый сервер принимает данные, включенные в тело сообщения (объект) запроса, и отправляет их на обработку приложению, указанному как запрашиваемый ресурс. PUT - Тело сообщения, которое передается в запросе, сохраняется на сервере, причем идентификатор запрашиваемого ресурса будет идентификатором сохраненного документа. DELETE - Запрос на удаление ресурса, имеющего запрашиваемый идентификатор. TRACE - Используется для тестирования или диагностики. Получатель запроса (сервер Web) отправляет полученное сообщение обратно клиенту как тело сообщения ответа. 24
Ответ сервера по HTTP После получения и интерпретации сообщения запроса, сервер отвечает сообщением HTTP ответа. Первая строка ответа – это строка состояния (Status-Line): Код состояния (Status-Code) – это целочисленный трехразрядный код результата понимания и удовлетворения запроса. Поясняющая фраза (Reason-Phrase) – короткое текстовое описание кода состояния. Код состояния предназначен для обработки программным обеспечением, а поясняющая фраза предназначена для пользователей. За строкой состояния следуют заголовки (общие, ответа и объекта) и, возможно, тело сообщения. 25
Коды состояния Первая цифра кода состояния определяет класс ответа. Последние две цифры не имеют определенной роли в классификации. Имеется 5 значений первой цифры: 1xx: Информационные коды – запрос получен, продолжается обработка. 2xx: Успешные коды – действие было успешно получено, понято и обработано. 3xx: Коды перенаправления – для выполнения запроса должны быть предприняты дальнейшие действия. 4xx: Коды ошибок клиента – запрос имеет ошибку синтаксиса или не может быть выполнен. 5xx: Коды ошибок сервера – сервер не в состоянии выполнить допустимый запрос. 26
Понятие гипертекста Гипертекст это такая форма организации текстового материала, при которой его единицы представлены не в линейной последовательности, а как система явно указанных возможных переходов, связей между ними. Следуя этим связям, можно читать материал в любом порядке, образуя разные линейные тексты. Часто гипертекстовая информация представляется в виде набора связанных узлов. Читатели могут изучать информацию различными способами, перемещаясь от одного узла к другому. 27
Гипертекст и ассоциативная связь Гипертекст - принцип организации информационных массивов, при котором отдельные информационные элементы связаны между собой ассоциативными отношениями, обеспечивающими быстрый поиск необходимой информации и/или просмотр взаимосвязанных данных. Ассоциативная связь - вид связи, устанавливаемый исходя из заданного сочетания признаков данных, которые образуют упорядоченные последовательные цепочки. Указатели на связанные данные могут размещаться в самих данных или программных средствах управления базой данных. 28
Гипертекст как HTML-разметка В компьютерной терминологии, гипертекст размеченный текст, содержащий в себе ссылки на внешние ресурсы. Примером гипертекста могут служить документы на HTML (гипертекстовом языке разметки), размещённые в Интернет. 29
Universal Resource Identifier Для идентификации ресурсов (зачастую файлов или их частей) в WWW используются единообразные идентификаторы ресурсов URI (англ. Uniform Resource Identifier). URI это короткая строка, позволяющая идентифицировать какой-либо ресурс: документ, изображение, файл, службу, ящик электронной почты и т. д. URI предоставляет простой и расширяемый способ идентификации ресурсов. Расширяемость URI означает, что уже существуют несколько схем идентификации внутри URI, и ещё больше будет создано в будущем. 30
Вид URI В базовом виде URI представляется как: : где: - схема обращения к ресурсу, например http, ftp, mailto, urn - непосредственный идентификатор ресурса, вид которого зависит от выбранной схемы обращения к ресурсу. Часть идентификатора URI без схемы обращения к ресурсу часто называется «ссылкой URI». Прецеденты применения ссылок URI имеются в HTML, XHTML, XML и XSLT. Процесс превращения ссылки URI в абсолютную форму URI называют разрешением URI. 31
Примеры абсолютных URI ftp://ftp.is.co.za/rfc/rfc1808. txt file://C:\UserName.HostName\Projects\Wikipedia_Articles\URI.xml news:comp.infosystems. data:text/plain;charset=iso ,%be%fg%be tel: telnet:// :80/ telnet:// :80/ Примеры ссылок URI: /relative/URI/with/absolute/path/to/resource.txt relative/path/to/resource.txt../../../resource.txt resource.txt /resource.txt#frag01 #frag01 32