Общее и частное о Web-серверах

Алексей Кошелев

Что такое Web-сервер?

Apache от ASF

iPlanet server (бывший Netscape Enterprise server) от Netscape и Sиn

Internet Information Server (IIS) от Microsoft

Что в итоге?

 

За последние несколько лет Интернет стремительно проник почти во все сферы человеческой жизни и деятельности. В сети, которая изначально задумывалась для нужд Министерства обороны США, нашлось место всем: и самому этому министерству, и государственным и коммерческим организациям, и частным лицам, и вообще всему, что только можно вообразить. В целом – это огромная, сложная, но вместе с тем довольно стабильно работающая система со множеством сервисов, программ, разработок и т.п. Но многие сегодня думают, что Интернет – это WWW и Web-браузеры. И это не случайно. WWW, в отличие от e-mail или FTP, позволяет не просто передавать файлы или текстовые письма, а, скажем, показывать картинки, передавать в реальном времени звук и даже видео. При всем этом вам ненужно ничего скачивать к себе на компьютер: вы просто используете весь мир как одну большую сеть. Необходимостью является, пожалуй, лишь хорошая скорость передачи данных (для радио и видео порядка 3 Кбайт/с или выше).

Ниже будут рассмотрены некоторые темы, связанные с Web-серверами, работой которых мы пользуемся каждый раз, глядя в окно Internet Explorer или Netscape Communicator. В основном я буду говорить об общих вопросах и сравнивать наиболее популярные на сегодняшний день серверы.

Что такое Web-сервер?

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

Однако в последнее время рынок программного обеспечения стал очень обширен. В частности, увеличилось количество Web-серверов, выпускаемых различными производителями. Как и в случае с любым другим товаром, здесь есть огромный выбор по цене, предлагаемым возможностям, встроенным расширениям, уровню технической поддержки, удобству установки и обслуживания и по многим другим параметрам. Естественно, любой Web-сервер поддерживает некоторый минимальный набор функций – поддержка протокола HTTP, настройка на разные порты, создание log-файлов, пользовательские директории, функции защиты. Перечисленное, является, на наш взгляд, наиболее важным в любой программе, в том числе и в Web-сервере. Но есть и некоторые тонкости. Например, планирование своей системы вы вряд ли начнете с Web-сервера: скорее вы будете выбирать операционную систему. Тут нужно иметь в виду, что не всякий сервер реализован для конкретной операционной системы. Далее, прежде чем установить сервер, необходимо понять, что он поддерживает, а что нет. Понятно, что любой сервер поддерживает протокол HTTP, но не всякий сервер изначально поддерживает, например, работу с базами данных. Плюс к этому сейчас любой разработчик Web-серверов создает свой API (Application Program Interface) для работы с сервером. Удобство средств разработки программ для сервера тоже играет немалую роль при выборе последнего. Также необходимо сказать, что, в отличие от многих других товаров, программы бывают бесплатные. При этом «бесплатное» в случае Web-серверов означает если уж не самое лучшее, то, по крайней мере, самое популярное. Я имею в виду сервер Apache, который, по оценкам, установлен примерно на 60% всех WWW-серверов, причем является бесплатным, свободно распространяемым и считается одним из самых надежных и стабильных. Сейчас в мире существуют довольно много Web-серверов (несколько десятков), но популярностью пользуются лишь несколько. Самых популярных три: Apache от ASF (Apache Software Foundation), Internet Information Server от Microsoft и iPlanet server (бывший Netscape Enterprise server) от Netscape и Sun. В подтверждение этих слов можно привести список ста крупных компаний, которые в той или иной степени используют возможности WWW. Все (или почти все) названия в правой колонке хорошо известны. Понятно, что известная компания должна быть аккуратна во всем, в том числе и в представлении себя через Интернет. В табл. 1 всего семь компаний используют Web-серверы, отличные от трех упомянутых. Поэтому, не делая никаких комментариев, приведем по порядку основные характеристики, достоинства и недостатки трех вышеуказанных серверов.

В начало

В начало

Apache от ASF

Без преувеличения можно сказать, что это самый распространенный Web- сервер в мире. Сейчас имеются версии фактически для всех известных платформ и операционных систем, в том числе и для Windows NT. Поддержка Windows NT появилась лишь в последней версии, и это еще больше повысило популярность Apache в мире. Его несомненными достоинствами являются надежность, исключительная производительность и огромный набор функций и дополнительных модулей. Но все же «изюминкой» этого сервера является свободное бесплатное распространение. Это дает возможность, помимо экономии денег, быстро исправлять ошибки и вносить в код программы необходимые дополнения. Надо отдать должное тем, кто занимается созданием Web-сервера Apache, — эти люди безвозмездно и, главное, очень быстро справляются с замеченными ошибками. Кстати, отмечу, что таким человеком сможет стать любой, желающий внести свой вклад в развитие этого сервера. Версия 1.3.x считается одной из самых стабильных и быстрых среди всего семейства Apache. Основными свойствами Apache являются поддержка кросс-платформ, протокол HTTP/1.1, модульная структура, защита, запись log-файлов. Кроме стандартной поставки имеется большое количество модулей, которые расширяют возможности Apache. Свободное распространение и открытый код позволяют создавать наиболее защищенные модули. В этом с Apache трудно соревноваться любому коммерческому серверу. Но, несмотря на все эти достоинства, есть и серьезный пробел, который я бы все-таки не назвал недостатком: у Apache нет красивой программы установки и управления. Во время установки приходится иметь дело с командной строкой. Более того, при установке под UNIX иногда приходится даже вносить коррективы в include-файлы. Конечно, есть подробное описание того, что и как необходимо изменить, однако, на первый взгляд это кажется не очень удобным. При работе приходится иметь дело не с оконной программой, а с текстовыми конфигурационными файлами. Техническая поддержка проявляется не в виде красивых help-файлов или фирм, предоставляющих специалистов, а в основном через телеконференции и обмен мнениями системных администраторов. На самом деле фирмы, предоставляющие услуги технической поддержки, все же есть, но это стоит денег. Но такой нетипичный для серьезного продукта стиль не делает Apache менее популярным, и на рынке он является самым серьезным конкурентом для всех WWW-серверов.

Краткие характеристики Web сервера Apache:

  • последняя версия: 2.0 alpha 4;
  • последняя официальная версия: 1.3.12;
  • бесплатный, открытый код;
  • операционные системы: NetBSD, Digital UNIX, BSDI, AIX, OS/2, SCO, HPUX, Novell NetWare, Macintosh, Be OS, Windows NT, Linux, Windows 95, FreeBSD, Windows 98, IRIX, Solaris;
  • может создавать несколько log-файлов; под Windows NT запускается как сервис и/или программа, под UNIX может запускаться из inetd; допускает настройку на несколько портов;
  • поддерживает Windows CGI, HTTP/1.1, в том числе и HTTP/1.1 PUT; есть функция автоматического ответа при изменении документа; поддерживает Microsoft ISAPI;
  • возможен запрет доступа с конкретных адресов, к конкретным документам, запрет запуска CGI скриптов, доступ конкретных пользователей; допускаются изменения без перезапуска сервера;
  • поставляется вместе с полным исходным кодом; поддерживает другие протоколы (ftp, telnet); имеет настройку на пользовательские директории; содержит модуль proxy.

Данные Webcompare (http://webcompare.internet.com) и Swatch (http://serverwatch.internet.com) для сервера Apache:

  • Процент на рынке Web-серверов — 58,85%
  • Количество — 3 570 377

Рейтинг (по пятибалльной системе):

  • надежность — 5
  • производительность — 5
  • простота использования — 3
  • техническая поддержка — 4,5
В начало

В начало

iPlanet server (бывший Netscape Enterprise server) от Netscape и Sиn

Не так давно произошло объединение Netscape и Sun в области создания Web- сервера, а именно: бывший Netscape Enterprise server теперь перешел в новое качество – iPlanet server. Это не просто смена имени. Теперь ко многим качествам предыдущего сервера добавилась тесная интеграция с Java- технологиями. Последней версией является 4.1. iPlanet Server, который поставляется на компакт-диске или может быть загружен по Сети. При этом он не является бесплатным. Есть версии как под Windows NT, так и под некоторые UNIX-системы. Привлекает простота установки, конфигурирования и управления. Базовая установка занимает не более 15 минут. Вся дальнейшая настройка производится с использованием Java-программы, запускаемой в браузере откуда угодно. Что касается Java, то, как и следовало ожидать, сервер поддерживает новейшие Java-технологии, такие как Java Servlets 2.1, Java Server Pages .92, JVM, JavaScript 1.4. На сегодняшний день это единственный сервер такого плана. В дополнение к этому iPlanet server включает в себя возможности по управлению доступом к базам данных. В его поставке содержатся драйверы для работы с Oracle, Informix, DB2, и Sybase. С точки зрения программирования для iPlanet server, сейчас наметилась тенденции к объединению с iPlanet Application Server. Это позволит существенно расширить возможности по созданию программ для Web-сервера iPlanet. Все перечисленные свойства делают Web-сервер iPlanet привлекательным для использования в разных областях. Также ведется работа над сервером FastTrack, который будет ограниченным по возможностям аналогом полного сервера, но при этом бесплатным (при полной аналогии с Netscape FastTrack). Что касается технической поддержки, то все описания, справочники и другие материалы относительно iPlanet server сделаны на высоком уровне (впрочем, как и любая документация, находящаяся на сервере Netscape).

Сформулируем кратко основные характеристики сервера:

  • последняя версия: 4.1;
  • цена: 60 дней бесплатно, далее 1495 долл.;
  • операционные системы: HPUX 11.0, Solaris 2.6/7.0, IBM AIX 4.2.1, Compaq Tru64 Unix 4.0d, SGI IRIX 6.5, NT 4 SP4;
  • поддержка Java Servlets 2.1, Java Server Pages .92, JVM, JavaScript 1.4; Oracle, Informix, DB2, и Sybase; преобразование PDF в HTML; поддержка LDAP;
  • может создавать несколько log-файлов, протоколировать производительность, создавать log-файлы для каждого CGI-скрипта; под Windows NT запускается как сервис и/или программа, под UNIX может запускаться из inetd; допускает настройку на несколько портов;
  • в поставку включен SNMP агент; поддерживает Windows CGI, HTTP/1.1, в том числе и HTTP/1.1 PUT; есть функция автоматического ответа при изменении документа; поддерживает Netscape Server API;
  • возможен запрет доступа с конкретных адресов, доступ конкретных пользователей; есть поддержка S-HTTP; допускаются изменения без перезапуска сервера; есть поддержка SSL второй и третьей версий и авторизации.
  • графическая программа установки; графическая программа управления; присутствует программа для оценки производительности во время работы; поддержка директорий пользователей; встроенный алгоритм поиска; возможность удаленного управления.

Данные Webcompare (http://webcompare.internet.com) и Swatch (http://serverwatch.internet.com) для сервера iPlanet:

  • Процент на рынке Web-серверов — 5,75%
  • Количество — 349 067

Рейтинг (по пятибалльной системе):

  • надежность — 4,5
  • производительность — 5
  • простота использования — 5
  • техническая поддержка — 4
В начало

В начало

Internet Information Server (IIS) от Microsoft

Сервер IIS является лучшим для Windows NT. Это и понятно, потому что вряд ли кто-нибудь, кроме разработчиков операционной системы, может сделать программу, полностью использующую возможности этой системы. Версия 4.0 поставлялась бесплатно вместе с Service Pack, а версия 5.0 поставляется исключительно как часть Windows 2000. Версия 5.0, по мнению специалистов, отличается более высокой надежностью, более тесной интеграцией с Windows и целым набором новых свойств. Установка и конфигурирование занимают не более 10 минут. Особенно приятно, что теперь ненужно устанавливать какие-либо Service Pack’ и не нужно перегружать систему после установки. При всем этом сам сервер занимает около 30 Мбайт на диске и вполне работает на машине Pentium 200 МГц с объемом памяти 128 Мбайт. Однако установить и запустить сервер можно только на Windows 2000 Server. Помимо удобной установки, удобно реализована и система управления сервером. Существует несколько полезных программ шаблонов (Wizards) для выполнения частых и рутинных операций. Вообще, справедливости ради нужно отметить следующее: в том, что касается удобства, мало кто сможет соревноваться с программами Microsoft. К тому же IIS поддерживает известные и включает в себя новые стандарты защиты. Так, есть поддержка известных методов SSL 3.0, Kerberos 5.0, и нового метода Fortezza (новый стандарт безопасности). Наиболее интересной и отличительной чертой IIS является поддержка WebDAV (Web-based Distributed Authoring and Versioning). Это недавно появившийся стандарт, который позволяет превращать внутренние сети в единое пространство, используя ресурсы соседних компьютеров как свои. Для пользователей IIS это означает, что они могут c большим удобством разделять свои рабочие файлы и иметь при этом возможность блокировать файлы. Вместе с тем существуют и некоторые проблемы, и несовместимость. Не совсем корректно происходит работа одновременно с Front Page Server, иногда при изменении конфигурации приходится перезапускать систему, встречаются ошибки при использовании системы удаленного администрирования. Но в целом версия 5.0 является значительным шагом вперед по сравнению с 4.0 в плане надежности и удобства.

Приведем кратко основные характеристики:

  • последняя версия: 5.0;
  • цена: поставляется вместе с Windows 2000 Server;
  • операционные системы: Windows 2000 Server, Advanced Server;
  • поддержка ASP, Microsoft API, ODBS;
  • может создавать несколько log-файлов; протоколирование производительности; возможность создания log-файлов для каждого CGI-скрипта; под Windows NT запускается как сервис и/или программа, под UNIX может запускаться из inetd; допускает настройку на несколько портов;
  • в поставку включен SNMP-агент; поддерживает доступ к переменным состояния сервера из CGI, HTTP/1.1, в том числе и HTTP/1.1 PUT; есть функция автоматического ответа при изменении документа; поддерживает Microsoft ISAPI;
  • возможен запрет доступа с конкретных адресов, к конкретным документам, доступ конкретных пользователей; есть поддержка S-HTTP; допускаются изменения без перезапуска сервера; есть поддержка SSL второй и третьей версий и авторизации;
  • графическая программа установки; графическая программа управления; поддерживает другие TCP-протоколы (ftp, telnet); присутствует программа для оценки производительности во время работы; поддержка директорий пользователей; встроенный алгоритм поиска; возможность удаленного управления.

Данные Webcompare (http://webcompare.internet.com) и Swatch (http://serverwatch.internet.com) для сервера IIS:

  • Процент на рынке Web-серверов — нет данных
  • Количество — нет данных

Рейтинг (по пяти бальной системе):

  • надежность — 5
  • производительность — 5
  • простота использования — 5
  • техническая поддержка — 5.
В начало

В начало

Что в итоге?

Таковы основные характеристики трех наиболее популярных Web-серверов. Давайте сравнительно рассмотрим их в том порядке, в каком они приведены в конце описания каждого сервера.

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

Не менее важным после набора характеристик показателем является производительность работы сервера. Не хотелось бы останавливаться на этом подробно, ибо эта тема заслуживает отдельной большой статьи, основанной на тщательном независимом исследовании, но несколько слов сказать все-таки же стоит. Под производительностью понимается скорость работы сервера в зависимости от количества подключенных клиентов и от интенсивности передачи запрашиваемых данных. Производительность зависит от многих факторов: типа и скорости процессора, объема оперативной памяти, операционной системы, присутствия других программ, настройки самого сервера. В случае с Apache есть и более экзотический момент. Обычно его берут в виде исходных текстов. Поэтому производительность откомпилированной программы зависит от типа и параметров компилятора и линкера. Определение производительности является весьма трудной задачей, поскольку не все зависит от Web-сервера. Чтобы сравнивать именно производительность Web-серверов, необходимо поставить их в одинаковые условия. На самом деле не совсем ясно, что значит поставить в равные условия, скажем, сервер IIS под Windows 2000 на Intel и сервер Apache под AIX 4.3 на RS6000. Это абсолютно разные по типу и структуре операционные системы и разные процессоры. Здесь наиболее тонким моментом, по моему мнению, является выделение того, что имеет отношение к Web- серверу, а что — ко всему остальному. Тем не менее подобные исследования проводятся. Результаты некоторых из них можно найти на том же сервере Webcompare. Кратко отметим, что по этим тестам производительность Apache несколько ниже по сравнению с двумя своими конкурентами, но, как мы уже говорили, не очень понятны методика проведения этих тестов и, главное, принцип обработки информации.

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

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

КомпьютерПресс 9'2000


Наш канал на Youtube

1999 1 2 3 4 5 6 7 8 9 10 11 12
2000 1 2 3 4 5 6 7 8 9 10 11 12
2001 1 2 3 4 5 6 7 8 9 10 11 12
2002 1 2 3 4 5 6 7 8 9 10 11 12
2003 1 2 3 4 5 6 7 8 9 10 11 12
2004 1 2 3 4 5 6 7 8 9 10 11 12
2005 1 2 3 4 5 6 7 8 9 10 11 12
2006 1 2 3 4 5 6 7 8 9 10 11 12
2007 1 2 3 4 5 6 7 8 9 10 11 12
2008 1 2 3 4 5 6 7 8 9 10 11 12
2009 1 2 3 4 5 6 7 8 9 10 11 12
2010 1 2 3 4 5 6 7 8 9 10 11 12
2011 1 2 3 4 5 6 7 8 9 10 11 12
2012 1 2 3 4 5 6 7 8 9 10 11 12
2013 1 2 3 4 5 6 7 8 9 10 11 12
Популярные статьи
КомпьютерПресс использует