Введение в Интернет
Аннотация: Дается общее представление о сети Интернет и предоставляемых в ней сервисах. Рассказывается, что такое служба 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-текста и др.
Служба 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-браузер является источником ряда угроз безопасности для компьютера пользователя. Некоторые web-страницы могут содержать вредоносный код . Для обеспечения большей устойчивости браузера к подобным страницам рекомендуется проделать следующие операции:
- запретить использование cookies ;
- запретить выполнение сценариев JavaScript и VBScript , а также элементов управления ActiveX ;
- запретить скачивание элементов управления ActiveX ;
- запретить скачивание шрифтов;
- запретить всплывающие окна;
- ограничить использование Java.
Это лишь краткий перечень настроек, которые можно произвести для того, чтобы сделать браузер безопасным. Проблемой является то, что это приведет к значительным ограничениям функций браузера, вплоть до полной невозможности его использования, как злоумышленником, так и пользователем.
Протокол HTTP
Протокол передачи гипертекста HTTP (Hyper Text Transfer Protocol)- базирующийся на TCP/IP протокол передачи гипертекста , обеспечивающий доступ к документам на web-узлах. Основная задача протокола состоит в установлении связи с web-сервером и обеспечении доставки HTML-страниц web-браузеру клиента.
- определяет взаимодействие партнеров на прикладном уровне;
- предназначен для передачи сообщений , являющихся блоками гипертекста ;
- используется в службе глобального соединения.
Транспортным протоколом для HTTP является протокол TCP, причем сервер HTTP (сервер Web) находится в состоянии ожидания соединения со стороны клиента стандартно по порту 80 TCP, а клиент HTTP (браузер Web) является инициатором соединения.
Одной из важнейших функций сервера Web является предоставление доступа к части локальной файловой системы. Для этого в настройках сервера указывается некоторая директория, которая является корневой для данного сервера Web. Чтобы опубликовать документ, то есть сделать его доступным пользователям, «посещающим» данный сервер (осуществляющим с ним соединение по протоколу HTTP), нужно скопировать этот документ в корневую директорию Web-сервера или в одну из ее поддиректорий. При соединении по протоколу HTTP на сервере создается процесс с правами пользователя, как правило, не существующего реально, а специально созданного для просмотра ресурсов сервера. Настраивая права и разрешения данного пользователя, можно управлять доступом к ресурсам Web.
Взаимодействие между клиентом и сервером Web осуществляется путем обмена сообщениями. Сообщения HTTP делятся на запросы клиента серверу и ответы сервера клиенту.
Запросы и ответы выглядят следующим образом:
начальная строка заголовок 1 заголовок 2 . заголовок N CR LF (пустая строка) тело сообщения (может отсутствовать).
HTTP-заголовки
Формат начальной строки (start-line) клиента и сервера различаются. Заголовки бывают четырех видов:
- общие заголовки (general-headers), которые могут присутствовать как в запросе, так и в ответе;
- заголовки запросов (request-headers), которые могут присутствовать только в запросе;
- заголовки ответов (response-headers), которые могут присутствовать только в ответе;
- заголовки объекта ( entity -headers), которые относятся к телу сообщения и описывают его содержимое.
Каждый заголовок состоит из названия, символа двоеточия «:» и значения. Наиболее важные заголовки приведены в 1.1.
Заголовок | Назначение |
Общие заголовки | |
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), заголовков (общих, запросов, объекта) и, возможно, тела сообщения.