«Омский Государственный Колледж Управления и Профессиональных Технологий»
Учебное пособие: «ПО КС и web-серверов»

Выполнил: Студент группы ТО-31
Панечкин А.Е.
Руководитель:
Шойко А.З.


Лекция 19. Программное обеспечение веб-сервера

Классификация серверов

Типы серверов

С точки зрения аппаратных средств сервер - это компьютер, который способен оказывать некоторые услуги другим, подсоединенным к нему компьютерам.

Правильно подобрать сервер для организации - это нелегкая задача. Широкий выбор серверных систем требует от руководителей ИТ-служб реалистично оценивать требования к их вычислительной мощности, масштабируемости, надежности и степени готовности. Они должны четко сформулировать требования к серверам, а также определить будущие затраты на модернизацию.

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

Нужно сказать, что поскольку в рамках каждого типа конфигурация серверов значительно варьируется, четких границ между ними установить нельзя. Мощные компьютеры младшего класса могут выполнять роль серверов начального уровня в старшем смежном классе и наоборот.

Отметим, что классификаций серверов существует довольно много, причем все они в той или иной степени перекрываются. Так, фирмы-производители часто подразделяют выпускаемые серверы по типу исполнения: сверхтонкие (blade), классические напольные (tower), предназначенные для установки в стойки (rack) и с высокой степенью масштабируемости (super scalable). Сверхтонкие компьютеры позволяют не только экономить место, отводимое под каждый сервер, но и уменьшать энергопотребление. Напольные серверы обеспечивают высокую гибкость при размещении компонентов в корпусе и легко наращиваемы. Серверы для установки в стойку предназначены для консолидации серверных систем в центрах обработки данных и использования с внешними подсистемами памяти. Они могут эффективно применяться для кластерных решений, когда сами серверы, внешняя память и дополнительные устройства размещаются в одних и тех же стойках. Серверы с высокой степенью масштабируемости обычно предназначены для крупных предприятий и способны обеспечить решение практически любых задач корпорации.

Ниже описываются некоторые распространенные типы серверов, классифицированные по классу решаемых задач.

Web-серверы

Web-сервер похож на роботизированный буфет. Клиент запрашивает у него нечто - в нашем случае файл, - а Web-сервер получает этот файл и пересылает его клиенту. В большинстве случаев оригинальный Web-сервер ничего с этим файлом не делает, просто отпасовывая его клиенту. Современные Web-серверы одновременно обрабатывают большое число запросов и быстро выдают ответы на них; кроме того, они способны обрабатывать запросы более сложными способами, чем простая пересылка документа.

Серверы приложений

Для сервера приложений характерны расширенные возможности обработки информации, а взаимодействие с клиентом становится подобным работе приложения. В маркетинге термином "сервер приложений" обычно обозначают предлагаемое продавцами комплексное решение, которое содержит все требуемые компоненты технологий. Для некоторых организаций такой комплексный подход к построению сервера приложений облегчает разработку благодаря унификации разрабатываемых моделей и централизации поддержки.

Серверы баз данных

Серверы баз данных используются для обработки бизнес-транзакций и пользовательских запросов. По мере расширения электронного бизнеса используемые базы данных усложняются и увеличиваются в объеме. Ключевая характеристика сервера баз данных - его способность быстро извлекать и форматировать данные. Решающую роль в этом играют вычислительная мощность и масштабируемость системы.

Файл-серверы

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

Прокси-серверы

Две основные функции этого компьютера заключаются в следующем. Во-первых, он действует как посредник, помогая пользователям получить информацию из Интернета и при этом обеспечивая защиту сети. Во-вторых, прокси-сервер может сохранять часто запрашиваемую информацию в кэш-памяти на локальном диске, быстро доставляя ее пользователям без повторного обращения к Интернету. Прокси-сервер стал весьма популярным способом стыковки корпоративных интрасетей с Интернетом.

Брандмауэры

Прокси-серверы можно сконфигурировать так, что они будут принимать или отвергать определенные типы сетевых запросов, поступающие как из локальной сети, так и из Интернета. В такой конфигурации прокси-сервер становится межсетевым экраном - брандмауэром. Брандмауэр, как и подразумевает его "боевое" имя, представляет собой средство обеспечения безопасности, задачи которого во многом схожи с работой пограничников: осматривать каждый фрагмент данных, который пытается пересечь границу сети.

Почтовые серверы

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

Серверы DHCP

В настоящее время во многих локальных сетях (интрасетях) также используется протокол TCP/IP, но иногда применяются и оригинальные протоколы обмена, такие, как NetBEUI или AppleTalk. IP-адрес компьютерам можно присваивать вручную, или же на одной из машин запускается так называемый сервер DHCP (Dynamic Host Configuration Protocol), который автоматически присваивает IP-адрес каждой локальной машине. Основное преимущество сервера DHCP - свобода изменения конфигурации локальной сети при ее расширении, добавлении или удалении машин (например, портативных ПК).

Серверы FTP

Подобные серверы, работающие на основе протокола File Transfer Protocol, уже много десятилетий назад стали стандартом де-факто при перемещении файлов в Интернете. FTP-серверы поддерживают работу простых файловых менеджеров - клиентов. Сложные FTP-серверы обеспечивают администратору большие возможности управления в том, что касается прав на подключение и совместного использования файлов, типов разделяемых файлов и их размещения. Конфигурируемые ресурсы, выделяемые ряду соединений с сервером, ограничения на количество передаваемых данных и минимальную скорость передачи и т.п., становятся все более популярными средствами, помогающими повысить безопасность FTP-серверов.

Принт-серверы

Такие серверы позволяют всем подключенным к сети компьютерам распечатывать документы на одном или нескольких общих принтерах. В этом случае отпадает необходимость комплектовать каждый компьютер собственным печатающим устройством. Кроме того, принимая на себя все заботы о выводе документов на печать, принт-сервер освобождает компьютеры для другой работы. Например, принт-сервер хранит посланные на печать документы на своем жестком диске, выстраивает их в очередь и выводит на принтер в порядке очередности.

Серверы удаленного доступа

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

Факс-серверы

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

Веб-сервер — это сервер, обслуживающий запросы к одному или нескольким сайтам Всемирной паутины (веб-сайтам).

Клиент, которым обычно является веб-браузер, передаёт веб-серверу запросы на получение ресурсов, обозначенных URL-адресами. Ресурсы — это HTML-страницы, изображения, файлы, медиа-потоки или другие данные, которые необходимы клиенту. В ответ веб-сервер передаёт клиенту запрошенные данные. Этот обмен происходит по протоколу HTTP.

Веб-сервером называют как программное обеспечение, выполняющее эти функции, так и непосредственно компьютер, на котором это программное обеспечение работает.

Web-сервер — программа, обрабатывающая сообщения, которые приходят на 80-й порт (стандартная настройка; можно конечно, настроиться и на любой другой порт), и работающая с протоколом HTTP (Hypertext Transfer Protocol).

В качестве клиентов для обращения к веб-серверам могут использоваться различные программы и устройства:

  • веб-браузер, работающий на настольном компьютере или переносном устройстве (например, карманном ПК);
  • разнообразные программы, самостоятельно обращающиеся к веб-серверам для получения обновлений или другой информации (например, антивирус может периодически запрашивать у определённого веб-сервера обновления своих баз данных);
  • мобильный телефон, получающий доступ к ресурсам веб-сервера при помощи протокола WAP;
  • другие интеллектуальные устройства или бытовая техника.

Функции WEB-сервера, кроме его прямой обязанности передавать запрашиваемые данные, можно условно разбить на четыре группы:

  1. управление передачей документов;
  2. ведение журнала активности клиентов;
  3. поддержание безопасности данных;
  4. обеспечение работы средств интерактивной работы с клиентом.

1. За процесс передачи информации отвечает HTTP-протокол. Именно этот протокол является основным для WWW. Он представляет собой набор правил для обмена данными и основан на принципе «запрос-ответ». Запрос идет от клиента к серверу и содержит служебную информацию о типе запроса (данные, заголовок, форма), заголовок запроса (допустимые типы файлов, авторизация, версия клиента, адрес, где была активирована ссылка на данный ресурс, и сам адрес) и запрос данных. Ответ идет от сервера к клиенту. В нем находится служебный код (число), показывающий состояние обработки запроса, ответный заголовок (версию сервера, дату, длину и тип данных) и сами данные. Так, вкратце, работает Web-сервер с клиентом. От сервера зависит, насколько полно он поддерживает стандарт передачи данных, а также расширения, помогающие в работе, но не узаконенные как стандарт. Сюда же относится взаимодействие сервера со шлюзами, proxy-серверами и брандмауэрами, используемыми для защиты локальных сетей от несанкционированного доступа извне.

2. WEB-сервер может вести журнал активности клиентов, записывая Internet-адреса, время, содержание запроса и другие параметры каждого соединения.

3. Функции защиты имеют несколько уровней:

  • контроль доступа к файлам на сервере;
  • ограничения на допустимые клиентские Internet-адреса и имена доменов;
  • кодирование сетевого трафика (технология SSL).

4. Средства интерактивной работы с клиентом. Самая старая из доступных здесь возможностей - CGI-интерфейс.
Сервер выполняет указанное в запросе приложение, и результат передает в качестве ответа. Такая возможность открывает мощное средство для создания динамических (т. е. формируемых в результате выполнения CGI-приложений) HTML-документов и не только их. Эта технология находит применение от настройки документа для нужд конкретного пользователя до создания собственного интерфейса к вашей базе данных. Некоторые WEB-серверы имеют встроенные возможности работы с одной или несколькими СУБД, что избавляет разработчика от значительной части рутинного труда.

Веб-серверы имеют основные и дополнительные функции:

  • прием запроса от Web-браузера по протоколу HTTP с использованием TCP/IP;
  • поиск и отсылка файла гипертекста или документа в браузер по HTTP;
  • обслуживание запросов mailto, ftp, telnet и др.;
  • запуск прикладных программ на Web-сервере с передачей и возвратом параметров обработки через интерфейс CGI;
  • обслуживание навигационных карт изображения imagemap;
  • контроль доступа на основе имен и паролей доступа (аутентификация и авторизация пользователей);
  • ведение регистрационного журнала (создание log-файлов) обращений пользователей к ресурсам;
  • административное и оперативное управление сервером;
  • поддержка динамически генерируемых страниц;
  • поддержка работы с базами данных;
  • свой API (Application Program Interface) для работы с сервером;
  • настройка на разные порты (по умолчанию 80);
  • поддержка HTTPS для защищённых соединений с клиентами.

Web-сервер оценивается по целому ряду важнейших параметров:

  • Эффективность: как быстро он отвечает на запрос?
  • Масштабируемость: продолжает ли сервер работать надёжно, когда к нему одновременно обращаются много пользователей?
  • Безопасность: совершает ли сервер только те операции, которые должен? Какие возможности он предлагает для аутентификации пользователей и шифрования потока обмена информацией? Делает ли его использование более уязвимыми соседние приложения или хосты?
  • Работоспособность: какие у сервера режимы отказа и аварийные ситуации?
  • Соответствие стандартам: поддерживает ли сервер соответствующие RFC?
  • Гибкость: можно ли настроить сервер для принятия большого количества запросов или динамических страниц, требующих значительных вычислений, или сложной аутентификации?
  • Требования к платформе: на каких платформах возможно использование сервера? Предъявляет ли он особые требования к аппаратной платформе?
  • Управляемость: легко ли установить и обслуживать сервер? Совместим ли он с организационными стандартами по ведению журналов, аудиту, оценке затрат и т.д.?

На ноябрь 2009 года двумя наиболее распространёнными веб-серверами, вместе занимающими около 68 % рынка, являются:

• Apache — свободный веб-сервер, наиболее часто используемый в Unix-подобных операционных системах;

• IIS от компании Microsoft, распространяемый с ОС семейства Windows NT.

Некоторые другие известные веб-серверы:

  • nginx — свободный веб-сервер, разработанный Игорем Сысоевым в 2002 году и пользующийся большой популярностью на крупных сайтах;
  • lighttpd — свободный веб-сервер;
  • Google Web Server — веб-сервер, разработанный компанией Google;
  • Resin — свободный веб-сервер приложений.
  • На март 2010 года: Apache – 54%, IIS от компании Microsoft – 24%, Google Web Server - 6,94%, nginx, свободный веб-сервер, разработанный Игорем Сысоевым – 6,54%.

Вопросы безопасности Web-сервера

Для обеспечения безопасности и защиты информации Web-серверы предоставляют следующие возможности:

  • виртуальные серверы для изоляции Web-структур друг от друга;
  • средства санкционирования доступа к серверам;
  • защищенный протокол передачи информации SSL с использованием сертификатов;
  • комплексы защиты сетей, Firewall и Proxy-серверы.
  • механизмы защиты файл-серверов в сети.

Виртуальные Web-серверы

Механизм виртуальных серверов позволяет иметь несколько имен доменов или адресов на одном физическом устройстве. Это удобно для поставщиков услуг Internet, обслуживающих информационные центры Web более чем одной компании, и для тех, кто обслуживает несколько узлов разных подразделений в интрасети.

Обычно серверу назначается несколько IP-адресов, по одному для каждого домена, а затем каждому домену ставят в соответствие собственный каталог документов.

Различают два типа виртуальных серверов: software-серверы и hardware-серверы. В первом случае для данного сервера определяется несколько доменных имен в описании прямой зоны домена. Эти имена закрепляются за различными деревьями документов, для которых устанавливаются свои правила организации доступа. Доменное имя необходимо в обязательном порядке прописать в базе данных сервера доменных имен, который поддерживает текущую зону. Если этого не сделать, то никакие виртуальные серверы работать не будут. Головной сервер в этом случае будет обращаться к своей корневой странице. При этом, однако, администрации сервера не удастся скрыть тот факт, что реально несколько Website поддерживаются одним и тем же сервером.

Для того, чтобы иллюзия была полной, кроме доменного имени необходимо назначить серверу еще и уникальный IP-адрес. Для этой цели служит механизм построения hardware-серверов.

Санкционирование доступа к серверам

Самый распространенный метод обеспечения безопасности называется базовой аутентификацией (basicauthentication). Страницы с ограничением доступа защищаются пользовательскими именами и паролями. Клиентские адреса TCP/IP или имена узлов также могут использоваться для ограничения доступа.

Управление доступом осуществляется в той секции файлов настроек сервера, где прописываются режимы работы с директориями. Если в файле управления доступом указать разрешение доступа только для определенных пользователей, то сервер будет запрашивать идентификатор и пароль пользователя. Данный процесс аутентификации может быть построен на различных механизмах: стандартной системе шифрования пароля, ведения базы данных паролей в различных базах данных.

Защищенный протокол SSL

Средства SecureSocketsLayer (SSL) обеспечивают более высокий уровень защиты, чем базовая аутентификация.

Разработанная фирмой Netscape спецификация SSL 2.0 призвана обеспечить безопасность каналов связи между клиентами и серверами с помощью шифрования данных. К другим достоинствам SSL относятся гарантированная сохранность сообщений и опознавание сервера. В настоящее время для того, чтобы использовать SSL, вы должны заплатить за сертификат сервера, выдаваемый такой уполномоченной организацией, как VeriSign. Это разумная мера для узлов Internet, где требуется высокая надежность, но для интрасетей - это стрельба из пушек по воробьям. В ближайшем будущем появятся продукты, которые дадут возможность выпускать внутренние сертификаты.

Все известные Web-серверы, за исключением изделия фирмы Novell, удовлетворяют требованиям SSL 2.0.

Использование комплексов защиты сетей

Нынешнее поколение брандмауэров демонстрирует, насколько значителен прогресс в данной области и насколько быстро он достигнут. Лучшие из современных продуктов предлагают сложные настраиваемые схемы управления доступом, позволяющие очень подробно расписать, кому разрешен доступ в корпоративную сеть и при каких условиях. Многие из них оснащены графическим пользовательским интерфейсом, делающим управление многочисленными параметрами более удобным, благодаря чему сокращается вероятность возникновения ошибок, любая из которых может впоследствии очень дорого обойтись.

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

Место брандмауэра обычно между внутренними локальными и корпоративными сетями с одной стороны и внешними сетями, такими как Internet, с другой. Основное его назначение - ограничение доступа. По существу, такая программа представляет собой контрольно-пропускной пункт, где у каждого проверяют документы. Брандмауэру предъявляются имена пользователей, идентификаторы приложений, IP-адреса и другие характеристики проходящей информации. Затем к этим данным применяются правила, заданные администратором системы.

Еще недавно брандмауэры в зависимости от применяемого метода управления доступом делили на четыре большие категории: фильтры пакетов, шлюзы уровня приложения, шлюзы низкого уровня и серверы-посредники (proxy). Большинство же современных продуктов - это гибриды, не укладывающиеся ни в одну из названных категорий.

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

Шлюзы уровня приложения представляют собой специализированные программы, ограничивающие трафик, связанный с определенным приложением, например, с системой электронной почты. В этих системах применяются особые коды для каждого приложения, а не для сетевого трафика в целом. Такие шлюзы считаются надежными благодаря тому, что администратору, формулирующему правила доступа, приходится учитывать значительно меньшее количество вариантов. У средств этой группы хорошая репутация.

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

Серверы-посредники образуют отдельный класс продуктов, но могут выполнять, в частности, и функции брандмауэра. На таком сервере обычно хранят тиражируемые копии некоторых Web-страниц, чтобы упростить доступ к ним отдельных категорий пользователей. Так, можно разместить на нем информацию, предназначенную для свободного доступа, а конфиденциальную упрятать в недра корпоративной сети подальше от точки входа.

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

Помимо перечисленных выше, существует еще одна технология, называемая контролем отклонений, используя ее, выявляют характеристики содержимого пакетов при нормальной работе с системой и на этой основе формируют правила для проверки. Указанная технология реализована в пакете FireWall, где различные наборы правил создаются в зависимости от контекста обмена: источника и пункта назначения. Например, правило, сформированное на основе собранной информации о характеристиках взаимодействия с некоторым приложением благонадежного клиента, может затем применяться для контроля за работой с тем же приложением других клиентов. При таком подходе пакет работает на самом нижнем уровне протокола OSI, так что контроль проходящих сообщений осуществляется прежде, чем они успеют вступить во взаимодействие с операционной системой.

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

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

Поэтому поставщики брандмауэров, защищающих интрасети от вторжений извне, выпускают для своих продуктов дополнительные модули, которые предохраняют Web-серверы от фальшивых запросов. В различных продуктах данная проблема решается по-разному. Например, программа SYNDefender компании CheckPoint проверяет все запросы на соединение до того, как они поступят в хост-машину.

Продукт N.O.A.H (NoAttackHere) фирмы LivermoreSoftwareLaboratories выявляет повторяющиеся запросы на связь, сокращает время, в течение которого хост-машина ждет подтверждения от инициатора запроса, исключает все предыдущие записи в очереди на подключение и сообщает системному администратору о проблеме.

Брандмауэр Guardian компании LanOptics проверяет каждый поступающий пакет на всех семи уровнях сетевого протокола, чтобы обнаружить какие-либо отклонения от нормы.

Однако, по мнению некоторых экспертов, полностью обезопасить Web-серверы практически невозможно. Можно только максимально затруднить злоумышленнику путь к успеху, защитив ядро системы и тщательно выполняя ее мониторинг. Пользователи должны внимательно отнестись к этой проблеме, так как, с одной стороны угроза атаки вполне реальна, а с другой - средства для ее решения уже существуют.

Основные особенности популярных Web-серверов

Рассмотрим основные характеристики наиболее популярных Web-серверов:

  • сервер на Apache — бесплатный, и с этим нельзя соперничать. Все, что можно сказать: администраторы платят за это неудобной процедурой установки и управления;
  • по числу поддерживаемых операционных систем лидерство Apache также бесспорно. В результате этот сервер практически одинаково устанавливается и конфигурируется фактически на любой платформе. И если у вас есть необходимость в управлении серверами на разных машинах, то вам совсем не требуется учить разные системы. Однако существует и оборотная сторона медали. Как я уже говорил, трудно сделать идеальный продукт под все системы. И, следовательно, IIS явно лучше и эффективнее использует особенности Windows;
  • в вопросе поддержки Java-технологий и работы с базами данных есть дополнительные модули в Apache, что удобно, а ASP изначально поддерживает лишь IIS;
  • в вопросе log-файлов несколько уступает Apache, так как он не ведет протоколирования производительности. Все остальные свойства вполне одинаковы. Может показаться, что создание log-файлов — не самая важная часть работы сервера, но это не так. Она напрямую связано с безопасностью, так как вы имеете возможность анализа доступа к системе. В вопросе безопасности и взлома порты http ничем не отличаются от других. В частности, при некорректной настройке сервера можно создать такую ситуацию, что внешние пользователи смогут получать доступ к ресурсам системы;
  • в вопросе поддерживаемых протоколов все оба сервера одинаковы. Различаются они лишь тем, какое API поддерживает данный сервер. Вместе с тем Apache, например, поддерживает и ISAPI фирмы Microsoft;
  • защита и связанные с ней протоколы одинаковы почти у всех серверов. Единственное, что нужно отметить, — в описании Apache не написано явно, что есть поддержка SSL. Это связано с тем, что в стандартной поставке на самом деле нет модуля SSL, но его можно скачать отдельно и установить;
  • в вышеприведенных характеристиках Apache проигрывает за счет отсутствия удобной программы установки и управления. Более того, у Apache ограничены возможности удаленного управления. С одной стороны, это неудобно, а с другой — любая дополнительная возможность управления ресурсами системы извне представляет собой возможные проблемы безопасности и повод для взломщиков.

Не менее важным после набора характеристик показателем является производительность работы сервера.

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

Определение производительности является весьма трудной задачей, поскольку не все зависит от Web-сервера. Чтобы сравнивать именно производительность Web-серверов, необходимо поставить их в одинаковые условия. На самом деле не совсем ясно, что значит поставить в равные условия, скажем, сервер IIS под Windows на Intel и сервер Apache под Alt Linux на АMD. Это абсолютно разные по типу и структуре операционные системы и разные процессоры. Здесь наиболее тонким моментом, по моему мнению, является выделение того, что имеет отношение к Web- серверу, а что — ко всему остальному. Тем не менее, подобные исследования проводятся. Результаты некоторых из них можно найти на том же сервере Webcompare. Кратко отметим, что по этим тестам производительность Apache несколько ниже по сравнению IIS, но не очень понятны методика проведения этих тестов и, главное, принцип обработки информации.

Кроме свойств, которые присущи непосредственно WWW-серверам, есть еще вопросы работы операционной системы и Web-сервера как единого целого. Это в первую очередь касается сервера IIS как лучшего для Windows. И дело не в этом сервере, а в Windows, а также в том, что необходимость перезапускать всю систему возникает гораздо чаще, чем в других операционных системах. Это приводит к тому, что ваш Web-сервер может работать нестабильно. Иногда стабильность работы является более важным критерием, чем удобство управления, например, в таких системах реального времени, как Интернет-радио.

Итак, проведенные сравнения, несмотря на их краткость, показывает, что у всех серверов есть как достоинства, так недостатки. Выбрать оптимальный сервер из перечисленных выше не просто. Но в любом случае остается общепризнанным тот факт, что именно эти два сервера являются сегодня наиболее популярными в мире, обладая при этом надежностью и высокой производительностью.

В начало страницы

Copyright ОГКУиПТ© by Deadhummer