- •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.4 Mime, типы и расширения
Как мы знаем, в World Wide Web доступна информация самого различного рода, закодированная во множестве разнообразных форматов. Некоторые из этих форматов "понимает" сама программа просмотра, другие она передает программам-помощникам. Возникает вполне законный вопрос о том, как программа просмотра распознает формат файла, загруженного с локального диска или с удаленного WWW-сервера. Ответ таков: При загрузке файлов с локального диска программа просмотра определяет тип по расширению имени файла. Если же файл приходит с удаленного WWW-сервера, то сервер высылает программе просмотра некоторую служебную информацию перед тем, как передавать собственно содержимое требуемого файла. Эта служебная информация включает стандартный идентификатор типа файла (Content-Type), на который в этом случае и ориентируется программа просмотра. Такой идентификатор типа получил название MIME-type, где MIME - аббревиатура начальных букв Multiporpose Internet Mail Extensions (Многоцелевые Расширения Электронной Почты Internet). Для MIME в последнее время используется также название Internet Media Types. Идентификатор типа MIME состоит из двух частей: идентификатора типа и идентификатора подтипа, разделенных косой чертой /. Некоторые из наиболее часто встречающихся типов файлов, их расширения и стандартные MIME-типы приведены в нижеследующей таблице.
Вам, как пользователю программы просмотра, возможно, придется столкнуться с MIME-типами при настройке так называемых программ-помощников (Helper Applications, Helpers). Если программа просмотра не знает, у какой программы попросить помощи при интерпретации данного файла то она предлагает вам выбрать, какую программу, установленную на вашем компьютере, запускать для обработки файлов данного MIME-типа. Можно настроить программу-помощника для данного MIME-типа и заранее. В Netscape Navigator 3.0 для этого следует выбрать меню Options | General Preferences, а затем ввести соответствующую информацию в диалоговом окне в категории Helpers.
1.6.5 Этапы транзакции http
Сеанс взаимодействия клиента и сервера на основе протокола HTTP называется HTTP-транзакцией. В простейшем случае HTTP-транзакция состоит из четырех последовательных этапов:
- установка соединения (инициируется клиентом);
- передача сообщения запроса от клиента серверу;
- передача сообщения ответа от сервера клиенту;
- разрыв соединения (инициируется сервером).
В рамках HTTP 0.9 и 1.0 такая схема является единственно возможной. Она, однако, далека от совершенства. Судите сами — передача веб-страницы с 10 графическими изображениями в описываемом случае требует установить и разорвать TCP-соединение между одной и той же парой клиент — сервер как минимум 11 раз (по одному разу на HTML-код и каждую картинку). Это число, разумеется, возрастет, если с веб-страницей, помимо упомянутого десятка изображений, будут связаны и другие объекты — например, внешние листы стилей, сценарии на языке JavaScript, Flash-ролики и т. д.
В глобальных масштабах рассматриваемое явление, как вы понимаете, далеко не самым лучшим образом отражается на загруженности веб-серверов, каналов связи и промежуточного сетевого оборудования. Для конечного пользователя все это проявляется в виде ощутимых задержек при загрузке страниц.
Как уже говорилось выше, веб-сервер запускается обычно от имени суперпользователя. Сказанное относится, однако, только к главному исполняемому модулю сервера. Каждое соединение обрабатывается отдельным дочерним процессом, запускаемым от имени непривилегированного пользователя (в UNIX-системах это обычно пользователь с именем nobody). Чем больше соединений открывает сервер, тем большее количество обслуживающих их дочерних процессов порождается. (Предельное их число, разумеется, контролируемо при помощи соответствующего параметра конфигурации.)
Обсуждаемый недостаток был преодолен за счет механизма постоянных соединений, реализованного в HTTP 1.1. Благодаря этому нововведению стало возможным обрабатывать несколько HTTP-запросов в ходе одного TCP-соединения.
Конфигурация большинства современных веб-серверов по умолчанию разрешает постоянные соединения. Разрыв соединения производится сервером по тайм-ауту или же по факту превышения некоторого порогового количества HTTP-запросов, разрешенного к обработке в рамках одного соединения. Так, Apache 1.3x (в конфигурации по умолчанию) ожидает следующего запроса клиента в течение 15 секунд, после чего, в случае «молчания» клиента, разрывает соединение; максимально возможное количество запросов в ходе одного соединения при этом равно 100. Разумеется, администратор сервера может произвольным образом изменять указанные настройки, в том числе и таким образом, чтобы полностью отменить ограничение на количество запросов в рамках постоянного соединения.
Несмотря на то, что разрыв соединения является прерогативой сервера, как клиент, так и сервер должны корректно отрабатывать незапланированные разрывы соединений (например, при нажатии пользователем кнопки Остановить в панели инструментов браузера или же вследствие каких-либо программных или аппаратных сбоев).
Схема HTTP-транзакции нередко усложняется еще и за счет возможного применения пользователями прокси-серверов при доступе к ресурсам Web. В данном случае в цепочку клиент — сервер включается дополнительное звено (или даже несколько звеньев, поскольку один прокси-сервер может работать через посредство другого прокси-сервера).