Учебная программа курса или дисциплины «Технологии создания Интернет-узлов» Курс включает два цикла лекций: Технологии сети Интернет: базовые протоколы и сервисы Тема 1. Стек протоколов IP в сравнении со стеком протоколов OSI. Тема 2. Адресация в Internet. Адресация сетей, подсетей и устройств ("хостов"). Класс-ориентированная и бесклассовая адресация. Адресация сервисов. Тема 3. Система доменных имен. Объекты именования. Организация серверов и их взаимодействие. Понятие зоны ответственности. "Обратная" адресация. Тема 4. Статическая маршрутизация (forwarding). Тема 5. Динамическая маршрутизация (routing).Автономные системы. Обзор алгоритмов и протоколов маршрутизации. Тема 6. Протокол IP. Тема 7. Протокол ICMP. Тема 8. Протокол UDP. Тема 9. Протокол TCP - формат заголовка, организация передачи данных. Тема 10. Протокол TCP - процедура установления и разрыва соединения. Тема 11. Классификация межсетевых экранов. Тема 12. Принципы работы и методика настройки фильтрующего маршрутизатора. Тема 13. Цифровая криптография. Симметричное шифрование. Криптография открытых ключей. Криптографические контрольные суммы и хэш-функции. Электронная подпись. Математические основания надежности шифров. Технологии сети Интернет: прикладные протоколы и сервисы Тема 1. Аутентификация сторон по стандарту X.509. Понятие сертификата. Глобальная система центров сертификации. Протокол аутентификации сторон. Тема 2. Протокол SSL – основные принципы и возможности. Тема 3. Протокол Kerberos – основные принципы и возможности. Тема 4. Понятие URL. Назначение, синтаксис, схемы. Тема 5. Протокол HTTP/1.1: Назначение. Формат сообщений. Методы (запросы) и коды возврата. Установление и разрыв соединения. Тема 6. Протокол HTTP/1.1: Классификация полей заголовка (общие, запроса, ответа, содержимого; сквозные, локальные). Обзор полей заголовка Тема 7. Протокол HTTP/1.1: Согласование формата содержания. Управление кэшированием. Аутентификация. Поддержка сессий (cookie). Тема 8. Язык HTML 4.0: Назначение. Синтаксис. Структура документа. Метаинформация. Многооконные документы (фреймы). Тема 9. Язык HTML 4.0: Элементы форматирования, рисунки, ссылки и карты. Формы. Стилевые таблицы. Тема 10. Язык HTML 4.0: Включение программных элементов (скриптов, аплетов, элементов ActiveX). Тема 11. Обработка запросов на стороне сервера. Способы передачи информации через CGI. Синтаксис и основные возможности SSI.. Тема 12. Формат XML. Назначение, основные принципы и возможности Перечень тем курса 1. Введение. 1.1. Значение сети Интернет в жизни общества (общая дискуссия: Интернет – средство общения, средство ускорения документооборота, площадка для новых форм бизнеса, новая медиа-среда, инструмент глобализации). История сети Интернет. Цели, поставленные при разработке ARPANET (независимость от оборудования, отказоустойчивость, децентрализованность), и их влияние на последующее распространение Интернет. Примеры сервисов Интернет. 1.2. Организационная структура Интернет. ISOC, IAB, IETF, IESG, IANA. Стандартизация в Интернет. RFC. 1.3. Стек протоколов TCP/IP в сравнении с эталонной моделью OSI. Понятие эталонной модели. Сетевые уровни: физический, канальный, сетевой, транспортный, сеансовый, представления, прикладной (OSI); взаимодействия с оборудованием, межсетевой, транспортный, прикладной (TCP/IP); их соответствие и различия. 2. Адресация в Интернет. 2.1. Адресация сетевых станций (хостов) при помощи ip-адресов. Классы адресов и бесклассовая адресация и маршрутизация. Маска сети. 2.2. Система доменных имен: назначение. 2.3. Адресация процессов при помощи номеров портов. Адресация стандартных сервисов. 2.4. Адресация сущностей прикладного уровня – специфична для протокола прикладного уровня. Примеры. Универсальная система адресации ресурсов всемирной паутины. Понятия URI, URL, URN. Примеры URL для протокола HTTP. 3. Система доменных имен. 3.1. Символические имена хостов. Исторический механизм назначения имен при помощи файла hosts. Исходные требования к системе DNS: отказоустойчивость, распределенное функционирование, децентрализованное администрирование. 3.2. Архитектура DNS. Иерархическое пространство имен. Понятие домена. Понятие ресурсной записи. Типы ресурсных записей: A, PTR, CNAME, MX, NS, SOA, другие. Понятие зоны. Компоненты программного обеспечения: сервер, резолвер (клиент) и их функции. Первичные и вторичные сервера зон. 3.3. Поиск в DNS. Рекурсивный и нерекурсивный поиск, рекурсивные и нерекурсивные сервера. 3.4. Формат сообщений протокола DNS. Текстовый формат описания зоны. Делегирование зон и «склеивающие» записи. 3.5. Уязвимость сервиса DNS к подмене сообщений. Варианты атак. 3.6. Архитектура расширения безопасности DNSSec. Назначение новых типов ресурсных записей RRSIG, DNSKEY, DS, TSIG. Безопасное делегирование зон. 4. Протокол IP. Назначение. Формат заголовка IP-дейтаграммы. Опции. Алгоритмы фрагментации и реассемблирования дейтаграмм. 5. Протокол ICMP. Назначение. Формат дейтаграммы. Избранные типы сообщений (Destination Unreachable, Time Exceed, Redirect, Source Quench, и др.). 6. Протокол UDP. Назначение и основные свойства. Формат заголовка дейтаграммы. 7. Протокол TCP. Назначение и основные свойства. Формат заголовка сегмента. Обеспечение надежной передачи данных. Управление потоком. Процедуры установления и разрыва соединения. Граф переходов протокольного автомата. Принципы реакции на ошибочные сообщения. 8. 8.1. 8.2. 8.3. 8.4. Маршрутизация. Механизм продвижения дейтаграмм (forwarding). Таблица маршрутизации. Статическая и динамическая маршрутизация. Определения, области применения. Математическая формулировка задачи маршрутизации. Дистантно-векторный алгоритм маршрутизации. Недостатки. Примеры образования маршрутных петель. Компенсирующие эвристики. Оценка сложности в целом и вычислительной нагрузки на отдельный маршрутизатор. 8.5. Алгоритм состояния канала. Отсутствие долговременных маршрутных петель. Алгоритм Дейкстры поиска кратчайшего пути в графе. Оценка сложности в целом и вычислительной нагрузки на отдельный маршрутизатор. 8.6. Протоколы маршрутизации: назначение и общие черты. 8.7. Обзор протоколов маршрутизации: GGP, RIP, OSPF, GGP. 8.8. Понятие автономной системы. Внутренние и внешние протоколы маршрутизации. 8.9. Обзор протоколов EGP, BGP. Маршрутизация на основе политики. Обмен информацией о политике маршрутизации. Общие сведения о языке описания политики RPSL, общедоступных БД для публикации описаний, генерации конфигураций на основе описания политик. 8.10. Понятие маршрутизации от источника. Опции SSRR, LSRR протокола IP. Протокол SDRP. 9. Угрозы информационной безопасности в сети Интернет. 9.1. Общие понятия «информационный ресурс», «информационный сервис», «технические средства», «ущерб», «уязвимость», «атака», «угроза». 9.2. Угрозы по отношению к передаваемой информации. Свойства доступности, целостности, подлинности, конфиденциальности. Возможность их нарушения при передаче. Подходы к защите передаваемой информации. Разбор особых случаев: 9.2.1. Информация, используемая для аутентификации сторон. Понятия идентификации, аутентификации, авторизации. Необходимость специальных протоколов аутентификации сторон. Атака «повторного проигрывания». Требования к протоколам аутентификации сторон. Необходимость обоюдной аутентификации. 9.2.2. Протоколы, обеспечивающие функционирование Интернет (ICMP, DNS, маршрутные протоколы). 9.3. Уязвимости систем из-за ошибок программного обеспечения. Примеры. Организация мониторинга безопасности программного обеспечения. CERT. Типовой цикл обнаружения и исправления критичных ошибок. 9.3.1. Принципиальные уязвимости вследствие гибкости программного обеспечения. Проблема баланса безопасности и эффективности. 9.4. Уязвимости корпоративных сетей. Причины пониженного уровня безопасности в корпоративных сетях. Защита корпоративных сетей в целом. Понятия межсетевого экрана (firewall) и виртуальной частной сети (VPN). 9.5. Принципиальные уязвимости сетевых протоколов. Динамическое обнаружение атак и противодействие. 10. Криптографические технологии защиты передаваемой информации в Интернет. 10.1. Понятия односторонней функции и односторонней функции с секретом. 10.2. Симметричные алгоритмы шифрования. Понятие общего (секретного) ключа. Сеть Фейштеля. Алгоритмы DES и ГОСТ 28147-89. Блочное и потоковое шифрование. Обзор алгоритмов: AES, IDEA, RC5, RC6, Blowfish. Режимы применения блочных шифров ECB, CBC, CFB, OFB. Проблемы: распределение ключей. Распределение ключей через доверенный сервер. Распределение ключей при помощи асимметричных криптографических алгоритмов. 10.3. Криптографические контрольные суммы и хэш-функции. Определения и требования. Хэш-функции MD5, SHA. Получение ККС при помощи хэш-функции и при помощи симметричного алгоритма шифрования. Области применения. Построение и проверка Message Authentication Code. 10.4. Асимметричные криптографические алгоритмы. Понятия открытого и закрытого ключа. Алгоритм Diffie-Hellman. Алгоритм RSA. Схема Эль-Гамаля и алгоритм DSS. Электронная цифровая подпись. 10.5. Уязвимость алгоритмов асимметричной криптографии к подмене открытого ключа. Атака Man-In-the-Middle на примере алгоритма Diffie-Hellman. Поход к защите подлинности ключа при помощи ЭЦП. Понятие сертификата открытого ключа, удостоверяющего центра, инфраструктуры открытых ключей. 10.6. Типовые протоколы аутентификации сторон на основе ЭЦП и на основе симметричного алгоритма шифрования. 11. Обзор протоколов защищенной передачи данных в Интернет. Общие задачи протоколов защищенной передачи данных. Протоколы SSL, SSH, PGP, Kerberos, IPSec, PPTP, L2F, L2TP. 12. Инфраструктура открытого ключа. 12.1. Проблема Man-In-the-Middle и подходы к ее решению. Примеры: PGP, DNS. 12.2. Группа стандартов X.500 и стандарт X.509, версии 1, 2 и 3. 12.3. Уточнение X.509 для использования открытых ключей в Интернет. Понятие инфраструктуры открытого ключа в Интернет (PKIX). Стандарты PKIX. Обратное влияние стадартов PKIX на стандарты ITU-T. 12.4. Понятия сертификата открытого ключа, удостоверяющего центра, списка отзывов, репозитория, сертификационного пути. Иерархия удостоверяющих центров и кросссертификаты. Формат сертификата и списка отзывов. 12.5. Операции с сертификатами и сертификационными путями. 12.6. Операционные и управляющие протоколы PKIX. Обзор протоколов: HTTP, FTP, DNS, LDAP, OCSP, DVCS, SCVP. 13. Протокол SSL. Назначение и основные свойства. Набор криптографических алгоритмов. Архитектура. Подпротоколы RL, AD, Alert, HS, CCS. Организация защищенной передачи данных. Процедуры установления и разрыва защищенного соединения. Общие сведения о библиотеке OpenSSL. 14. Протокол Kerberos. Назначение и основные свойства. Архитектура. Понятие билета (ticket). Формат билета. Сообщения аутентификации сторон и управления ключами. 15. Межсетевые экраны. Назначение. Классификация методов построения. Комбинации нескольких межсетевых экранов, понятие «демилитаризованной зоны». Классификация по уровню защищенности. 16. Принципы работы и методика настройки фильтрующего маршрутизатора. 17. Всемирная паутина. (Вводная.) Значение в жизни общества. Основные области использования. Основные технологические особенности. (Общая дискуссия.) Архитектура: клиент, сервер, ресурс, адрес, протокол, языки и форматы данных, расширения на стороне клиента и сервера. Основные спецификации и стандарты. W3консорциум. 18. Понятия и стандарты URI, URL и URN. Допустимые, недопустимые и специальные символы, кодировка символов. Понятие схемы адресации. Схемы адресации http, https, ftp, file, news, mailto, telnet. Абсолютные, относительные и базовые URL, преобразования URL. 19. Идентификация типов данных по стандарту MIME. 20. Протокол HTTP. 20.1. Назначение. Основные свойства. 20.2. Форматы сообщений. Методы и коды возврата. 20.3. Обзор полей заголовка. 20.4. Аутентификация сторон. 20.5. Имитация сеансов. 20.6. Согласование содержания. 20.7. Кэширование. 21. Язык HTML. 21.1. Понятие языка разметки. История языков разметки. SGML, HTML и XML. 21.2. Общая структура документа. 21.3. Элементы разметки текста. Изображения, ссылки и карты. Таблицы. 21.4. Управление отображением. Каскадные таблицы стилей. 21.5. Формы ввода и взаимодействие с сервером. 21.6. Включение активного контента. 22. Обработка запросов на стороне сервера. Общая схема обработки запросов. Расширение функциональности сервера: основные подходы. Спецификация CGI. Включения на стороне сервера (SSI). Конфигурирование веб-сервера: основные задачи и общая методика; директивы конфигурирования (на примере сервера Apache). 23. Язык XML. Основные отличия от SGML и HTML. Примеры мета-описаний XML. Понятия валидирующего и невалидирующего анализатора, событийно-потокового анализатора и DOM-анализатора, примеры анализаторов. Обзор приложений XML: XML Schema, XHTML, XSLT и XSL-FO, MathML, SVG, SOAP и WSDL, XPointer/XPath/XLink, RDF/RDFS и ОWL. 2.1. Лабораторная работа Лабораторная работа проводится в конце I курса, предназначена для подкрепления пройденного материала практическим опытом. Состоит их 4 занятий по 4 академических часа. В ходе работы слушатели решают следующие задачи: 1. Настройка статической маршрутизации. 2. Настройска сервера DNS. 3. Настройка фильтрующего маршрутизатора. Необходимое оборудование и программное обеспечение (приведено для группы в 16 человек): 1. Персональные компьютеры, HDD не менее 4Гб, CPU не менее 500Mhz, RAM не менее 512Mb – 18шт, по крайней мере на 4х машинах должно быть по 2 карты Ethernet 10/100Mbit/s. 2. Коммутатор Ethernet не менее чем 5 портов – 5 шт. 3. Кабели и/или патчкорды витой пары 5 категории, длина – согласно физическому размещению компьютеров и коммутаторов – 20 шт. 4. ОС FreeBSD версии не ниже 4.0. Для проведения лабораторной работы собирается сеть со следующей топологией: Здесь: - ПК, две нижние машины – машина преподавателя и выходной маршрутизатор. Коммутаторы. Выходной маршрутизатор обеспечивает выход в Интернет. На нем дополнительно запускается сервер доменных имен, обеспечивающий разрешение доменных имен при выходе в Интернет. Лабораторная работа проводится в форме командного тренинга. При этом каждая команда решает поставленные задачи самостоятельно, без помощи преподавателя, консультируясь друг с другом, пользуясь материалами лекций и системной документацией. План проведения лабораторной работы. Занятие 1. Вводное. Команды конфигурирования и тестирования сетевых соединений. Команды общего назначения OC Unix. Лекция + тренировка практического использования. Команды man, cp, mv, rm, pwd, chdir, mkdir, rmdir, chmod, ps, kill, редактор ee, оболочки deco и mc (midc), команды ping, traceroute, nslookup, dig, netstat, arp, ifconfig, route. Занятие 2. 2.1. Группа разбивается на 4 команды (бригады) по 4 человека, каждая команда администрирует свою собственную локальную сеть из 4 машин. 2.2. Производится соглашение о распределении ip-адресов, например, 10.10.1.0/24, 10.10.2.0/24, 10.10.3.0/24, 10.10.4.0/24 – для локальных сетей, 10.10.5.0/24 – для сети связи маршрутизаторов (нижний коммутатор на диаграмме). 2.3. Каждая команда конфигурирует интерфейсы машин в своей сети, добиваясь обеспечения передачи данных между машинами. Проверка осуществляется при помощи команды ping. 2.4. Каждая команда настраивает внешний интерфейс маршрутизатора своей сети и маршрутные правила на всех машинах, добиваясь связи каждой машины сети с выходным маршрутизатором и с хостами в Интернет. Для машинах-маршрутизаторах для этого должен быть разрешен forwarding (sysctl net.inet.ip.forwarding=1). Проверка связи осуществляется при помощи команд ping и traceroute. (Для разрешения доменных имен сети Интернет в качестве сервера DNS указывается выходной маршрутизатор; в файле /etc/resolv.conf на каждой их 16 машин). 2.5. Отключается выходной маршрутизатор. Команды должны обеспечить передачу трафика между своими сетями без его помощи, за счет ввода дополнительных маршрутных правил на своих маршрутизаторах. 2.6. Все необходимые для конфигурирования машин команды записываются в стартовый скрипт, обеспечивается запуск этого скрипта при старте системы (по-разному в разных версиях FreeBSD). Производится перезагрузка всех машин и проверка восстановления правильной конфигурации сетевых интерфейсов и маршрутных правил после перезагрузки. Занятие 3. Производится соглашение о назначении имен компьютерам. Например, это соглашение может быть таким: Сети имеют имена net1.tr, net2.tr, net3.tr, net4.tr. Компьютеры в каждой сети имеют имена ws1, ws2, ws3, ws4 (.netX.tr). Внешние интерфейсы маршрутизаторов имеют отдельные имена gw.net1.tr, gw.net2.tr, gw.net3.tr, gw.net4.tr. Кроме того, компьютерам даются дополнительные имена в соответствии с их функциями (см. п. 3.2). Каждая команда должна обеспечить в своей сети преобразование доменных имен машин в их ip-адреса и обратно. Для этого в каждой сети должно быть запущено 4 сервера доменных имен: первичный сервер прямой зоны, вторичный сервер прямой зоны, первичный сервер обратной зоны, вторичный сервер обратной зоны. Рекомендуется машинам, выполняющим роли серверов, присвоить дополнительные имена в соответствии с ролью, например (в порядке перечисления выше): ns, nssec, revns, revnssec. Старшие зоны (в нашем примере - прямая tr и обратная 10.10.in-addr.arpa) создаются преподавателем или его ассистентом на выходном маршрутизаторе. При этом выполняется делегирование подчиненных зон (net1.tr, net2.tr, net3.tr, net4.tr, 1.10.10.inaddr.arpa, 2.10.10.in-addr.arpa, 3.10.10.in-addr.arpa, 4.10.10.in-addr.arpa) на машины, назначенные командами для выполнения соответствующих ролей DNS-серверов. Для продвинутых или хорошо успевающих групп это может делаться с демонстрацией участникам тренинга или даже под их диктовку. Запуск DNS-серверов осуществляется командами named, ndc или rndc (в зависимости от версии ОС). Команда запуска DNS-сервера вносится в стартовый скрипт. Создание файлов описания зон начинается с задания имени хоста командой hostname и запуска скрипта makelocalhost (/etc/named/makelocalhost), которая генерирует файл зоны 0.0.127.in-addr.arpa. Этот файл необходим для работы DNS-сервера сам по себе; кроме того, рекомендуется использовать его как заготовку или пример при создании файлов описания собственных зон. Поключение зон к DNS-серверу осуществляется при помощи конфигурационного файла named.conf (/etc/namedb/named.conf), который содержит описания и примеры директив в самом себе. Проверка правильности конфигурирования DNS-серверов осуществляется при помощи команд nslookup и dig. и содержания зон Занятие 4. Объясняется рекомендованная политика безопасности: запрещен трафик с поддельными ip-адресами отправителя, якобы относящимся к локальной сети, но в действительности прибывающих с внешнего сетевого интерфейса; запрещен трафик UDP, кроме случаев, оговоренных в 4.1.5; запрещены входящие соединения TCP извне на машины локальной сети, включая маршрутизатор и его внешний интерфейс, кроме случаев, оговоренных в 4.1.5; разрешены исходящие соединения TCP с машин локальной сети в Интернет; обеспечено нормальное функционирование протокола DNS, программ тестирования соединений ping и traceroute. Для хорошо успевающих групп можно поставить дополнительную задачу разрешения доступа к избранному хосту в локальной сети по протоколу FTP. Запуск фильтра пакетов на маршрутизаторе осуществляется командой kldload ipfw.ko. Эта команда должна быть также добавлена в стартовый скрипт. Каждая команда (бригада) настраивает фильтр пакетов на маршрутизаторе своей сети так, чтобы обеспечить рекомендованную политику безопасности. Команды (инструкции), необходимые для конфигурирования фильтра пакетов также добавляются в стартовый скрипт. Для проверки отсутствия доступа по TCP на машинах локальных сетей запускаются сервисы telnet или FTP. Для проверки защиты от подделки ip-адресов преподаватель может запустить на своей машине генератор поддельного трафика при помощи команды ping или traceroute. Успешность «атаки» контролируется на атакуемой машине при помощи программы tcpdump. 3. Список литературы и Веб-источников. 1. 2. 3. 4. 5. 7. 9. 10. 11. 12. 13. 14. 15. 16. В.Г. Олифер, Н.А. Олифер. Компьютерные сети. Принципы, технологии, протоколы. С-Пб.: Питер, 2001. А. Робачевский. Операционная система Unix. С-Пб.: BHV-Санкт-Петербург, 1997. Столлингс В. Криптография и защита сетей. М.: «Вильямс», 2001. Лапонина О.Р. Основы сетевой безопасности: криптографические алгоритмы и протоколы взаимодействия. М.: Интернет-Университет Информационных Технологий, 2005. С. Спейнаур, В. Куэрсиа. Справочник Web-мастера. Киев: BHV, 1997. IETF RFC 1700, 1033, 1630, 1738, 1808, 791-793, 768, 823, 1122, 1812, 904, 1058, 1388, 1583, 1771, 1321, 1510, 2045-2048, 2068, 2069, 2109. NIST FIPS PUB 46-3, 180, 180-2, 186-1, 186-2, 197. ГОСТ 28147-89, ГОСТ Р 34.10-94, 34.11-94. ITU-T X.200, X.500, X.509. HTML 4.01 Specification. W3C Recommendation 24 December 1999. Extensible Markup Language (XML) 1.0 (Fourth Edition). W3C Recommendation 16 August 2006. XHTML 1.0 The Extensible HyperText Markup Language (Second Edition). W3C Recommendation 1 August 2002. http://www.w3.org http://www.ietf.org 4. Список вопросов, выносимый на экзамен. Экзамен 1-го курса. 1. Стек протоколов IP в сравнении со стеком протоколов OSI. 2. Адресация в Internet. Адресация сетей, подсетей и устройств ("хостов"). Классориентированная и бесклассовая адресация. Адресация сервисов. 3. Система доменных имен. Объекты именования. Организация серверов и их взаимодействие. Понятие зоны ответственности. "Обратная" адресация. 4. Статическая маршрутизация (forwarding). 5. Динамическая маршрутизация (routing).Автономные системы. Обзор алгоритмов и протоколов маршрутизации. 6. Протокол IP. 7. Протокол ICMP. 8. Протокол UDP. 9. Протокол TCP - формат заголовка, организация передачи данных. 10. Протокол TCP - процедура установления и разрыва соединения. 11. Симметричное и несимметричное шифрование. Схема Диффи-Хелмана. Алгоритм RSA. Электронная подпись. Алгоритм DSS. 12. Классификация межсетевых экранов. 13. Принципы работы и методика настройки фильтрующего маршрутизатора. 14. Распределение открытых ключей. Стандарт X.509. Инфраструктура открытых ключей, основные функции. Экзамен 2-го курса. 1. Протокол SSL. 2. Протокол Kerberos 3. Понятие URL. Назначение, синтаксис, схемы. 4. Протокол HTTP/1.1: Назначение. Формат сообщений. Методы (запросы) и коды возврата. Установление и разрыв соединения. 5. Протокол HTTP/1.1: Классификация полей заголовка (общие, запроса, ответа, содержимого; сквозные, локальные ). Обзор полей заголовка. 6. Протокол HTTP/1.1: Согласование формата содержания. 7. Протокол HTTP/1.1: Взаимодействие с прокси-серверами. Управление кэшированием. 8. Протокол HTTP/1.1: Аутентификация. 9. Протокол HTTP/1.1: Поддержка сессий (cookie). 10. Язык HTML 4.1: Назначение. Синтаксис. Структура документа. Метаинформация. 11. Язык HTML 4.1: Основные тэги: форматирование, ссылки и рисунки. 12. Язык HTML 4.1: Формы и карты. 13. Язык HTML 4.1: Таблицы и фреймы. 14. Язык HTML 4.1: Стилевые таблицы. 15. Язык HTML 4.1: Включение программных элементов (скриптов, аплетов, элементов ActiveX), их основные возможности (сравнить). 16. Обработка запросов на стороне сервера. Способы передачи информации через CGI. Синтаксис и основные возможности SSI.