Введение

Сервер веб- и FTP с открытым исходным кодом

Xitami — это веб-сервер и FTP-сервер, изначально разработанный компанией iMatix Corporation как бесплатный продукт с открытым исходным кодом с 1996 по 2000 год. Он работал как единый процесс, занимая мало ресурсов. Он не был таким быстрым, как самые производительные серверы, но хорошо масштабировался. Он поддерживал несколько протоколов веб-приложений и отличался высокой переносимостью. Также в его состав входил веб-интерфейс для настройки веб- и FTP-сервера. В 2009 году iMatix выпустила новую версию Xitami под названием X5 (Xitami/5).

История

iMatix запустил оригинальный сервер Xitami в 1996 году как демонстрацию своей технологии многопоточности SMT для создания протокольных серверов. Название было выбрано в последнюю минуту, когда разработчики обнаружили, что их первоначальный выбор ("Cosmos") уже использовался другим веб-сервером, который больше не существует. "Xitami" – это "iMatix", написанное в обратном порядке. О Xitami упоминалось в статье, опубликованной в журнале Dr. Dobb's Journal в апреле 1997 года. Веб-сервер привлекал пользователей, искавших быстрый, но простой веб-/FTP-сервер, в основном для Microsoft Windows. Xitami был разработан с учетом переносимости и был портирован на Windows, Linux и другие Unix-системы, OpenVMS, BeOS и OS/2. Вся непереносимая функциональность была инкапсулирована в библиотечный слой под названием SFL ("стандартная библиотека функций"). SFL был бесплатным проектом с открытым исходным кодом и достаточно широко использовался в других подобных проектах. В 1999 году веб-сервер Apache принял аналогичный подход к переносимости для Apache2, разработав Apache Portable Runtime (APR). Команда Xitami продолжала добавлять новые функции до середины 2000 года, когда разработка сервера была остановлена, за исключением выпусков обновлений безопасности. В 2008 году в финальной версии Xitami/2.5 были выявлены многочисленные уязвимости формата printf.

Х5

В январе 2009 года iMatix объявила о старте нового проекта Xitami, версии 5, под названием X5. В нем используется новейшее поколение многопоточной технологии iMatix (Base2), что обеспечивает масштабируемость Xitami для многоядерных процессоров, сохраняя при этом его компактность и простоту. iMatix заявила, что X5 "рассчитан на обработку тысяч соединений без затруднений", что делает его подходящим для технологии long polling, при которой клиентские соединения остаются открытыми в течение продолжительного времени. Бинарные файлы для Windows для X5 были выпущены в феврале 2009 года, и X5 впервые был использован для работы веб-сайта iMatix Live Zyre. X5 использует ту же техническую основу, что и служба обмена сообщениями OpenAMQ от iMatix. X5 написан на ANSI C99 с использованием подхода метапрограммирования, называемого "модель-ориентированным программированием". На FOSDEM 2009 X5 был представлен как состоящий из 3457 строк мета-метакода. X5 использует APR вместо SFL и работает в операционных системах Windows, Linux, AIX, Solaris и OpenVMS.