Опубликован: 02.03.2009 | Уровень: для всех | Доступ: платный | ВУЗ: Волгоградский государственный университет
Лекция 1:

Введение в Интернет

Лекция 1: 12 || Лекция 2 >
Аннотация: Дается общее представление о сети Интернет и предоставляемых в ней сервисах. Рассказывается, что такое служба WWW, по какой схеме она работает, на каких принципах организована. Дается понятие Web-сервера и Web-браузера, представление об их функциях и схеме взаимодействия друг с другом. Также, рассказывается, что такое протокол HTTP, какие задачи он выполняет, какова его структура и основные команды. Дается понятие гипертекста.

Понятие Internet и WWW

Интернет и его сервисы

Интернет - глобальная информационная сеть, части которой логически взаимосвязаны друг с другом посредством единого адресного пространства, основанного на протоколе TCP/IP. Интернет состоит из множества взаимосвязанных компьютерных сетей и обеспечивает удаленный доступ к сервисам сети Интернет.

Сервисы Интернет - сервисы, предоставляемые в сети Интернет пользователям, программам, системам, уровням, функциональным блокам. В сети Интернет сервисы реализованы в виде сетевых служб, доступ к которым реализуется как из локальной, так и из глобальной сети.

Наиболее распространенными Интернет-сервисами являются:

  • служба WWW;
  • служба передачи файлов FTP;
  • передача электронных сообщений и блоков данных (e-mail);
  • Интернет-телефония - частный случай IP-телефонии, когда в качестве линий передачи телефонного трафика используются каналы сети Интернета. IP-телефония - технология, позволяющая использовать Интернет или другую IP-сеть в качестве средства организации и ведения международных и междугородных телефонных разговоров и передачи факсов в режиме реального времени.
  • Интернет-вещание - динамическое изменение информации, передаваемой по каналам Интернета: новостные ленты, видео, аудио, сообщения о результатах выборов и т.д.

Служба WWW

Служба WWW (World Wide Web) - основная служба в сети Интернет, позволяющая получать доступ к информации на любых серверах, подключенных к сети. Служба WWW представляет собой множество независимых, но взаимосвязанных серверов и предназначена для обмена текстовой, графической, аудио и видео-информацией. Работая с Web, пользователь последовательно соединяется с Web-серверами и получает информацию. WWW построена по схеме "клиент-сервер". В качестве клиента выступает браузер, который является также и интерпретатором HTML. Как интерпретатор, браузер в зависимости от команд (тегов) выполняет различные функции: размещение текста на экране, обмен информацией с сервером по мере анализа полученного HTML-текста и др.

Взаимодействие клиента и сервера по протоколу HTTP

Рис. 1.1. Взаимодействие клиента и сервера по протоколу HTTP

Служба WWW организована на принципах гиперсреды. Гиперсреда - технология представления информации в виде относительно небольших блоков, ассоциативно связанных друг с другом.

WWW – это глобальное информационное пространство, основанное на физической инфраструктуре Интернета и протоколе передачи данных HTTP. Его образуют миллионы веб-сeрверов сети Интернет, расположенных по всему миру. WWW неразрывно связана с понятиями гипертекста и гиперссылки.

Web-сервер

Web-сервер – это программное обеспечение, отвечающее за прием запросов браузеров, поиск указанных файлов и возвращение их содержимого. Web-cерверы хранят информацию в виде текстовых файлов, называемых страницами Web-сервера. Помимо текста, такие страницы могут содержать ссылки на другие страницы, ссылки на графические изображения, аудио- и видеоинформацию, различные объекты ввода данных (поля, кнопки, формы и т. д.), а также другие объекты. Страницы Web представляют собой некоторое связующее звено между объектами различных типов.

Web-сервер является программой, запускаемой на подключённом к сети компьютере и использующей протокол HTTP для передачи данных. В простейшем виде такая программа получает по сети HTTP-запрос на определённый ресурс, находит соответствующий файл на локальном жёстком диске и отправляет его по сети запросившему компьютеру. Более сложные web-серверы способны динамически формировать ресурсы в ответ на HTTP-запрос.

Web-браузер

Для доступа к информации, расположенной на web-серверах, пользователи применяют специальные клиентские программы — браузеры.

Web-браузер - это программное обеспечение для просмотра web-сайтов, то есть для запроса web-страниц из WWW, для их обработки и вывода, и для реализации перехода от одной страницы к другой. Браузер — комплексное приложение для обработки и вывода разных составляющих web-страницы, и для предоставления интерфейса между web-сайтом и его посетителем. Браузер способен предварительно обрабатывать данные, отправляемые на сервер, а также обрабатывать и представлять результаты, полученные от сервера, в удобном для пользователя виде.

В настоящее время существует четыре наиболее популярных web-браузера. К ним относятся Internet Explorer (IE), Netscape, Opera и Firefox. Большинство браузеров основано на одном ядре. Например, Netscape и Firefox основаны на ядре, которое называется Gecko. Между браузерами существует ряд отличий, например:

  • некоторые скрипты на языке JavaScript приводят к аварийному завершению IE, а бразузеры, основанные на ядре Gecko, способны корректно их обрабатывать;
  • некоторые HTML-тэги по-разному обрабатываются IE и Firefox;
  • IE и Firefox имеют абсолютно разные модели сообщений;
  • IE, в отличие от Firefox, не в полной мере поддерживает каскадируемые таблицы стилей Cascading Style Sheets (CSS) 2.0;
  • Firefox, в отличие от IE, не имеет возможности запускать элементы управления ActiveX;
  • последовательность обработки HTML-тэгов при визуализации страницы отличается в различных браузерах, что иногда приводит к отличиям в получаемых страницах;
  • некоторые атрибуты стилей работают в Firefox, но не работают в IE.
Взаимодействие браузера и web-сервера

увеличить изображение
Рис. 1.2. Взаимодействие браузера и web-сервера

Web-браузер является источником ряда угроз безопасности для компьютера пользователя. Некоторые web-страницы могут содержать вредоносный код. Для обеспечения большей устойчивости браузера к подобным страницам рекомендуется проделать следующие операции:

  • запретить использование cookies;
  • запретить выполнение сценариев JavaScript и VBScript, а также элементов управления ActiveX;
  • запретить скачивание элементов управления ActiveX;
  • запретить скачивание шрифтов;
  • запретить всплывающие окна;
  • ограничить использование Java.

Это лишь краткий перечень настроек, которые можно произвести для того, чтобы сделать браузер безопасным. Проблемой является то, что это приведет к значительным ограничениям функций браузера, вплоть до полной невозможности его использования, как злоумышленником, так и пользователем.

Протокол HTTP

Протокол передачи гипертекста HTTP (Hyper Text Transfer Protocol)- базирующийся на TCP/IP протокол передачи гипертекста, обеспечивающий доступ к документам на web-узлах. Основная задача протокола состоит в установлении связи с web-сервером и обеспечении доставки HTML-страниц web-браузеру клиента.

Протокол HTTP:

  • определяет взаимодействие партнеров на прикладном уровне;
  • предназначен для передачи сообщений, являющихся блоками гипертекста;
  • используется в службе глобального соединения.

Транспортным протоколом для HTTP является протокол TCP, причем сервер HTTP (сервер Web) находится в состоянии ожидания соединения со стороны клиента стандартно по порту 80 TCP, а клиент HTTP (браузер Web) является инициатором соединения.

Одной из важнейших функций сервера Web является предоставление доступа к части локальной файловой системы. Для этого в настройках сервера указывается некоторая директория, которая является корневой для данного сервера Web. Чтобы опубликовать документ, то есть сделать его доступным пользователям, "посещающим" данный сервер (осуществляющим с ним соединение по протоколу HTTP), нужно скопировать этот документ в корневую директорию Web-сервера или в одну из ее поддиректорий. При соединении по протоколу HTTP на сервере создается процесс с правами пользователя, как правило, не существующего реально, а специально созданного для просмотра ресурсов сервера. Настраивая права и разрешения данного пользователя, можно управлять доступом к ресурсам Web.

Взаимодействие между клиентом и сервером Web осуществляется путем обмена сообщениями. Сообщения HTTP делятся на запросы клиента серверу и ответы сервера клиенту.

Запросы и ответы выглядят следующим образом:

начальная строка
заголовок 1
заголовок 2
...
заголовок N
CR LF (пустая строка)
тело сообщения (может отсутствовать).

HTTP-заголовки

Формат начальной строки (start-line) клиента и сервера различаются. Заголовки бывают четырех видов:

  1. общие заголовки (general-headers), которые могут присутствовать как в запросе, так и в ответе;
  2. заголовки запросов (request-headers), которые могут присутствовать только в запросе;
  3. заголовки ответов (response-headers), которые могут присутствовать только в ответе;
  4. заголовки объекта (entity-headers), которые относятся к телу сообщения и описывают его содержимое.

Каждый заголовок состоит из названия, символа двоеточия ":" и значения. Наиболее важные заголовки приведены в 1.1.

Таблица 1.1. HTTP-заголовки
Заголовок Назначение
Общие заголовки
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 Название программного обеспечения клиента
Заголовки ответа
Age Число секунд, через которое нужно повторить запрос для получения нового содержимого
Location URI ресурса, к которому нужно обратиться для получения содержимого
Retry-After Дата и время или число секунд, через которое нужно повторить запрос, чтобы получить успешный ответ
Server Название программного обеспечения сервера, приславшего ответ
Заголовки объекта
Allow Перечисляет поддерживаемые сервером методы
Content-Encoding Способ, которым закодировано тело сообщения, например, с целью уменьшения размера
Content-Length Длина сообщения в байтах
Content-Type Тип содержимого и, возможно, некоторые параметры
ETag Уникальный тэг ресурса на сервере, позволяющий сравнивать ресурсы
Expires Дата и время, когда ресурс на сервере будет изменен, и его нужно получать заново
Last-Modified Дата и время последней модификации содержимого

В теле сообщения содержится собственно передаваемая информация. Тело сообщения представляет собой последовательность октетов (байтов). Тело сообщения может быть закодировано, например, для уменьшения объема передаваемой информации, при этом способ кодирования указывается в заголовке объекта Content-Encoding.

Запрос от клиента к серверу состоит из строки запроса (request-line), заголовков (общих, запросов, объекта) и, возможно, тела сообщения.

Строка запроса:

<Команда HTTP> 
<Идентификатор запрашиваемого ресурса> 
<Версия HTTP>
Лекция 1: 12 || Лекция 2 >
Борис Селезнёв
Борис Селезнёв
Россия, Санкт-Петербург
Alex James
Alex James
Соединенные Штаты