Hiawatha

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Hiawatha Webserver
Тип

Веб-сервер

Автор

Хуго Лейсинк (Hugo Leisink)

Разработчик

Хуго Лейсинк (Hugo Leisink)

Написана на

C

Операционная система

POSIX, Кроссплатформенное программное обеспечение

Языки интерфейса

Английский

Аппаратная платформа

Linux, Windows, Solaris, FreeBSD, OpenBSD, UNIX-подобная операционная система, AIX, HP-UX, QNX, OS X, Haiku[1]

Последняя версия

9.5

Лицензия

GPLv2

Сайт

hiawatha-webserver.org

Hiawatha  — Веб-сервер, доступный для множества операционных систем. Разработка ведется Хуго Лейсинком (Hugo Leisink) с 2002 года.[2]

История[править | править вики-текст]

Hiawatha был создан в январе 2002 в виде небольшого веб-сервера, способного работать на серверах с устаревшим аппаратным обеспечением. Изначально он был написан для Интернет-серверов в студенческих общежитиях в городе Делфт, Южная Голландия, Нидерланды. Автор, будучи студентом в области компьютерных наук с особым интересом в сфере информационной безопасности, включил в разрабатываемый веб-сервер различные экспериментальные функции безопасности, многие из которых являются уникальными и со временем доказали свою полезность. Автор говорил: "Мне давно известно об уязвимостях, существующих в других серверах. Вот что меня беспокоит: время исполнения CGI скриптов. CGI процесс на других серверах может исполняться вечно. Один-единственный CGI скрипт может подвергнуть сервер DoS-атаке. Системному администратору приходится прерывать скрипт. А как насчет клиента (или хакера), который пытается подобрать пароли для HTTP аутентификации? Эти проблемы воодушевили меня к созданию Hiawatha с настройками для максимального времени отправки запроса, максимального времени исполнения CGI скриптов, блокирования клиентов, и т.д. По моему мнению, каждый сервер должен обладать такими функциями."

Номер жернала Linux Magazine за январь 2009 года содержал отдельную статью о веб-сервере Hiawatha.

Наиболее важные релизы
  • 1.0: Сентябрь 2002 года. Базовый, но функциональный веб-сервер.
  • 2.0: Март 2004 года. Использование многопоточности вместо системного вызова fork.
  • 3.0: Сентябрь 2004 года. Поддержка SSL.
  • 4.0: Декабрь 2005 года. Добавлен CGI-wrapper для повышенной безопасности.
  • 5.0: Октябрь 2006 года. Поддержка FastCGI для повышения скорости CGI.
  • 5.2: Ноябрь 2006 года. Первичная интеграция в систему портов FreeBSD начиная с версии 5.2 в декабре 2006 года[3], в коллекцию портов OpenBSD начиная с версии 5.7 в марте 2007 года.[4]
  • 5.12: Август 2007 года. Поддержка URL rewriting.
  • 6.0: Октябрь 2007 года. Поддержка IPv6.
  • 6.6: Апрель 2008 года. Поддержка XSLT.
  • 6.10: Октябрь 2008 года. Добавлена функция предупреждения межсайтовой подделки запроса.
  • 7.0: Февраль 2010 года. Поддержка удаленного мониторинга.
  • 8.0: Январь 2012 года. Autoconf заменен на CMake, OpenSSL заменен на PolarSSL.
  • 9.0: Март 2013 года. Клиенты обслуживаются через пул потоков вместо создания потоков на лету.

Функциональные возможности[править | править вики-текст]

В веб-сервере Hiawatha реализованы все важнейшие функции современного веб-сервера, такие как:

Hiawatha содержит множество функций безопасности, которых нет в других веб-серверах, такие как предотвращение внедрения SQL-кода, межсайтового скриптинга (XSS), межсайтовой подделки запроса (CSRF), защита от DoS-атак, контроль ссылок на внешние изображения, блокирование потенциальных взломщиков, ограничение времени выполнения CGI приложений.[5] Автор работал над поддержкой RFC3546, но из-за недостатка документации по OpenSSL это не удавалось реализовать. Все же, поддержка RFC3546 была включена начиная с версии 8.6, с использованием библиотеки PolarSSLv1.2.

Производительность[править | править вики-текст]

Хотя основное внимание при разработке веб-сервера уделялось вопросам безопасности, Hiawatha показывает хорошие результаты в скорости и производительности. Согласно тесту производительности, проведенному в рамках независимого исследования SaltwaterC, Hiawatha опережает другие программы в отдаче статического контента.[6] Hiawatha поддерживает балансируемый FastCGI и имеет собственную утилиту PHP-FastCGI utility, хотя последняя устарела и была замещена утилитой FastCGI Process Manager (PHP-FPM).[7] Это позволяет быстро и масштабируемо обслуживать динамичный контент.

См. также[править | править вики-текст]


Примечания[править | править вики-текст]

Внешние ссылки[править | править вики-текст]