
- •2. Разработка мультимедийного курса
- •1. Содержание курса «администрирование информационнх систем»
- •1.1. Принципы построения открытых системы и «клиент-серверных» технологий. Модель iso/osi
- •1.1.1 Открытые системы и открытые спецификации
- •1.1.2 Технологии «клиент-сервер»
- •1.1.3 Модель iso/osi, функции протоколов каждого из уровней
- •1.2. Стек tcp/ip и его протоколы
- •1.2.1 Структура стека tcp/ip
- •1.2.2 Краткая характеристика протоколов
- •1.2.3 Надежность протоколов
- •1.2.4 Инкапсуляция
- •1.2.5 Протокол ip и его основные функции
- •1.2.6 Фрагментация
- •1.2.7 Формат заголовка пакета Ipv4
- •1.2.8 Протокол iPv6
- •1.2.9 Протокол icmp
- •1.2.10. Протокол udp
- •1.2.11 Протокол tcp и формат его заголовка
- •1.2.12 Окно передачи в tcp
- •1.3. Адресация в ip сетях
- •1.3.1 Адресация в ip-сетях
- •1.3.2 Типы адресов: физический (mac), сетевой (ip) и символьный (dns)
- •1.3.3 Соглашения о специальных адресах
- •1.3.4 Отображение физических адресов на ip-адреса: протоколы arp и rarp
- •1.4. Принципы работы dns
- •1.4.1 Отображение символьных адресов на ip-адреса: служба dns
- •1.4.2. Основные домены верхнего уровня
- •1.4.3 Система доменных имен bind
- •1.4.4 Автоматизация процесса назначения ip-адресов узлам сети - протокол dhcp
- •1.5. Принципы и основные протоколы маршрутизации в Интернет
- •1.5.1 Основные принципы ip-маршрутизации
- •1.5.2 Разбиения адресного пространства сети на подсети
- •1.5.3 Маскирование
- •1.5.4 Таблицы маршрутизации в ip-сетях
- •1.5.5 Фиксированная маршрутизация
- •1.5.6 Простая маршрутизация
- •1.5.7 Адаптивная маршрутизация
- •1.5.8. Дистанционно-векторный алгоритм маршрутизации (на примере rip)
- •1.5.9 Алгоритм состояния связей (на примере ospf)
- •1.5.10 Комбинирование различных протоколов обмена
- •1.5.11 Протоколы egp и bgp сети Internet
- •1.6. Протоколы прикладного уровня
- •1.6.1 Основные сервисы Интернет и соответствующие протоколы
- •1.6.2 Порты и сокеты
- •1.6.3 Http, ftp и др. Протоколы прикладного уровня
- •1.6.4 Mime, типы и расширения
- •1.6.5 Этапы транзакции http
- •1.6.6 Понятия uri, url
- •1.6.7 Схемы http-сеанса
- •1.6.8 Структура Запроса клиента
- •1.6.9 Структура ответа сервера
- •1.6.10 Cookie
- •1.7. Программирование в Интернет
- •1.7.1 Программирование в Интернет
- •1.7.2 Серверное и клиентское по
- •1.7.3 Программы, выполняющиеся на клиенте (JavaScript, Java-аплеты)
- •1.7.4 Программы, выполняющиеся на сервере
- •1.7.5 Спецификация cgi
- •1.7.6 Perl
- •1.7.7 Isapi
- •1.8. Администрирование в Unix и в Windows. Управление web-сервером.
- •1.8.1 Администрирование в Unix и в Windows
- •1.8.2 Управление web-сервером
- •1.8.3 Построение isp
- •1.8.4 Архитектура сервера Apache
- •1.8.5 Архитектура сервера Internet Information Server
- •1.9. Интернет-экономика. Модели назначения цен. Сетевая коммерция.
- •1.9.1. Экономика информационных сетей.
- •9.2. Интернет-экономика (иэ): основные понятия иэ
- •1.9.3. Составляющие расходов на предоставление услуг Интернет
- •1.9.4. Межсоединения и распределенная экономика: ip-транспорт; структура цены и экономика соглашений о межсоединениях; разделение распределенной стоимости
- •1.9.5. Модель назначения цен. Оценка потребления: тарифы и цены в иэ; методы оценивания стоимости коммуникаций
- •1.9.6. Категории электронного бизнеса
- •1.9.7. Сетевая коммерция: услуги общественного и частного потребления; электронные службы; электронные платежные системы
- •1.9.8. Экономическая эффективность сетей типа Интернет
- •1.10. Перспективы развития глобальных информационных систем
- •2. Разработка мультимедийного курса
1.6.7 Схемы http-сеанса
Центральным объектом в HTTP является ресурс, на который указывает URI в запросе клиента. Обычно такими ресурсами являются хранящиеся на сервере файлы. Особенностью протокола HTTP является возможность указать в запросе и ответе способ представления одного и того же ресурса по различным параметрам: формату, кодировке, языку и т. д. Именно благодаря возможности указания способа кодирования сообщения клиент и сервер могут обмениваться двоичными данными, хотя изначально данный протокол предназначен для передачи символьной информации. На первый взгляд это может показаться излишней тратой ресурсов. Действительно, данные в символьном виде занимают больше памяти, сообщения создают дополнительную нагрузку на каналы связи, однако подобный формат имеет много преимуществ. Сообщения, передаваемые по сети, удобочитаемы, и, проанализировав полученные данные, системный администратор может легко найти ошибку и устранить ее. При необходимости роль одного из приложений может выполнять человек, вручную вводя сообщения в требуемом формате.
В отличие от многих других протоколов, HTTP является протоколом без памяти. Это означает, что протокол не хранит информацию о предыдущих запросах клиентов и ответах сервера. Компоненты, использующие HTTP, могут самостоятельно осуществлять сохранение информации о состоянии, связанной с последними запросами и ответами. Т.е клиентское веб-приложение, посылающее запросы, может отслеживать задержки ответов, а веб-сервер может хранить IP-адреса и заголовки запросов последних клиентов.
Все программное обеспечение для работы с протоколом HTTP разделяется на три основные категории:
1. Серверы - поставщики услуг хранения и обработки информации (обработка запросов).
2. Клиенты - конечные потребители услуг сервера (отправка запросов).
3. Прокси-серверы для поддержки работы транспортных служб.
Основными клиентами являются браузеры например: Internet Explorer, Opera, Mozilla Firefox, Netscape Navigator и другие. Наиболее популярными реализациями веб-серверов являются: Internet Information Services (IIS), Apache, lighttpd, nginx. Наиболее известные реализации прокси-серверов: Squid, UserGate, Multiproxy, Naviscope.
"Классическая" схема HTTP-сеанса выглядит так.
1. Установление TCP-соединения.
2. Запрос клиента.
3. Ответ сервера.
4. Разрыв TCP-соединения.
Таким образом, клиент посылает серверу запрос, получает от него ответ, после чего взаимодействие прекращается. Обычно запрос клиента представляет собой требование передать HTML-документ или какой-нибудь другой ресурс, а ответ сервера содержит код этого ресурса.
В состав HTTP-запроса, передаваемого клиентом серверу, входят следующие компоненты:
1. Строка состояния (иногда для ее обозначения используют также термины строка-статус, или строка запроса).
2. Поля заголовка.
3. Пустая строка.
4. Тело запроса.
Рис. 6.2. Схема HTTP-сеанса.
Строка состояния имеет следующий формат:
метод_запроса URL_pecypca версия_протокола_НТТР
Рассмотрим компоненты строки состояния, при этом особое внимание уделим методам запроса.
Метод, указанный в строке состояния, определяет способ воздействия на ресурс, URL которого задан в той же строке. Метод может принимать значения GET, POST, HEAD, PUT, DELETE и т.д. Несмотря на обилие методов, для веб-программиста по-настоящему важны лишь два из них: GET и POST.
1. GET. Согласно формальному определению, метод GET предназначается для получения ресурса с указанным URL. Получив запрос GET, сервер должен прочитать указанный ресурс и включить код ресурса в состав ответа клиенту. Ресурс, URL которого передается в составе запроса, не обязательно должен представлять собой HTML-страницу, файл с изображением или другие данные. URL ресурса может указывать на исполняемый код программы, который, при соблюдении определенных условий, должен быть запущен на сервере. В этом случае клиенту возвращается не код программы, а данные, сгенерированные в процессе ее выполнения. Несмотря на то что, по определению, метод GET предназначен для получения информации, он может применяться и в других целях. Метод GET вполне подходит для передачи небольших фрагментов данных на сервер.
2. POST. Согласно тому же формальному определению, основное назначение метода POST - передача данных на сервер. Однако, подобно методу GET, метод POST может применяться по-разному и нередко используется для получения информации с сервера. Как и в случае с методом GET, URL, заданный в строке состояния, указывает на конкретный ресурс. Метод POST также может использоваться для запуска процесса.
3. Методы HEAD и PUT являются модификациями методов GET и POST.
Версия протокола HTTP, как правило, задается в следующем формате:
HTTP/версия.модификация
Поля заголовка, следующие за строкой состояния, позволяют уточнять запрос, т.е. передавать серверу дополнительную информацию. Поле заголовка имеет следующий формат: Имя_поля: Значение