Tntnet является модульной, многопоточной webapplicationserver написан с нуля для C ++.
Чтобы создать webapplications Tntnet имеет шаблон языке под названием ЕКПП, похожий на PHP, JSP или каменщика, где вы можете вставлять C ++ - кода внутри HTML-страницы для создания активного содержимого.
ЕКПП-файлы, предварительно скомпилированные для C ++ - классы называются компонентами объединены и связаны в общую библиотеку. Этот процесс осуществляется на compiletime. Веб-сервер Tntnet нужно только скомпилированный componentlibrary.
Потому что webapplications составляются в машинный код, они очень быстро и компактно.
Компоненты могут вызывать другие компоненты. Таким образом, вы можете создать buildingblocks из HTML-части и называть их на других страницах, как подпроцессов.
Запросы обрабатываются по tntnet и запроса, информация легко доступна для компонентов. Он поддерживает GET и POST-параметры и MIME-составные-запросы для файла-загрузки.
Templatelanguage также поддержка локализованных приложений. Вы можете легко создавать webapplications для различных языков.
Другие особенности: печенье, HTTP-загрузки, автоматический разбор запроса параметров и преобразования, автоматическая sessionmanagement, контекстные переменные (заявление, просьба, и сессия), интернационализации, Keep-Alive.
Вход осуществляется через cxxtools, которая обеспечивает уникальную API для log4cpp, log4cxx или простой регистрации к файлам или консоли.
Tntnet полностью многопоточная и большая работа вошла в что делает его масштабируемым. Он использует динамический пул workerthreads, который отвечает на запросы от HTTP-клиентов.
Протокол SSL поддерживается через OpenSSL-библиотеки.
Особенности:
- написано в стандартной C ++ с Linux
- протестированы с & Quot; Debian Woody x86 & Quot; и & Quot; SuSE Linux 9.1 x86_64 и Quot;
- использование шаблонов языка для встраивания C ++ - код в HTML похож на PHP, JSP, ASP или Мейсон
- компонент-концепция позволяет модуляризация из webapplications
- многопоточный
- составить WebApplication в том числе графики в одном разделяемой библиотеки
- Get-и пост-параметры обрабатываются и легко доступны
- поддержка закачка файлов
- поддержка i18n из webapplications -. Одной кодовой базы для различных языков
Что нового в этой версии:
- Новый модуль прокси:
- Новый модуль прокси @ tntnet позволяет пересылку запроса на другие серверы HTTP.
- Secure сессия возможности для переменных действительны только на SSL сессий:
- новый тип области `` позволяет пользователям определять переменные, которые действительны только в SSL соединений. Также отдельный печенье отправляется которых атрибут для консультирования браузер использовать ее только тогда, когда протокол SSL позволяет.
- Настроить tntnet с XML (или JSON), включая рубки:
- Ранее tntnet был настроен с помощью текстового файла с простой, но собственный формат. Вход был настроен в отдельном файле с другом формате. И в сочетании теперь в одном файле XML.
- Удалить библиотеку CGI:
- Там когда-то библиотека, которая позволяет запускать компоненты ЕКПП, как CGI-процессов. Использование было ограничено и производительность в CGI это всегда плохо. Насколько я знаю, никто не использовал его (по уважительной причине). Поэтому в настоящее время удаляется.
- Расширение отображение URL с отображением методом или SSL:
- запросы сопоставления на компоненты распространяется. Не только URL-адрес может быть использован в качестве условия, но также и в способе HTTP или состояния SSL. Предыдущая отдельный отображение на виртуальном хосте в настоящее время также определяется как состояние отображения.
- Каркас Использование сериализации для чтения% переменные конфигурации от конфигурации tntnet для поддержки сложных конфигураций:
- ЕКПП тег `` позволяет веб-приложений для чтения значения из файла конфигурации tntnet. Раньше только скалярная переменная может быть прочитана. Теперь, используя объекты cxxtools сериализации комплекс может быть сконфигурирован и передаются в веб-приложении.
- компилятор ЕКПП не останавливаться на первой ошибке больше, но пытается найти больше проблем:
- компилятор ЕКПП `ecppc` остановился компиляции на первой ошибки. Теперь он пытается восстановить и продолжает составление и сообщения об ошибках.
- Разрешить приложения, чтобы очистить текущую сессию:
- Вызов новый метод `request.clearSession ()` удаляет все переменные сессии после текущего запроса.
- Читать имена файлов для multibinary компонента по выбору из файла с помощью опции -i в ecppc:
- Multibinary компоненты содержат коллекцию статических файлов, который составляется в одном компоненте tntnet. Это помогает экономить издержкам, так как каждый компонент необходим код, который делает это вызвать. Поскольку список статических файлов, используемых в веб-приложения могут быть довольно длинными, часто бывает удобно, чтобы поддерживать список в отдельном файле. Также очень длинный список может продлить максимально допустимую длину команды оболочки. Теперь `ecppc` можете прочитать список из файла, чтобы решить, что.
- Аргументы в отображении URL теперь имеют названия:
- При отображении запроса на компонент, аргументы могут быть переданы от конфигурации к компоненту. Ранее это был просто список значений. Теперь значения имеет названия, которые делает управление проще и более удобным для чтения.
- Разрешить distinquishing между GET и POST аргументов:
- ЕКПП позволяет определить параметры запроса, используя `` метку. Tntnet здесь прошла все получить и POST параметры. Для разработчиков было трудно выяснить, если аргументы передаются через GET или POST. Теперь аргументы могут быть определены в `` или `` раздел, чтобы получить только GET или POST параметров.
- Исправлены ошибки и оптимизации:
- Некоторые незначительные исправления и оптимизации выполняются в tntnet.
Комментарии не найдены