G-WAN является аккуратным веб-сервер: он основан на концепции «C сценарии»:
AC сценарий просто C исходный код, который скомпилированный веб-сервером, а затем загруженный в защищенную память. Он будет вызван веб-сервером, когда будет сделан запрос на сервлет. Сервлет, как он компилируется компилятором C, «так же быстро», как обычно, компилирует программу на C. Однако преимущество C-скриптов, например, CGI или FastCGI, заключается в том, что скомпилированная программа находится в том же пространстве памяти, что и веб-сервер. Это уменьшает накладные расходы на связь (либо путем создания процесса, в случае CGI, для каждого запроса, либо сокета для FastCGI).
Веб-сервер использует технику выбора/опроса: неблокирующий ввод-вывод. Тем не менее, в этом есть аккуратная вещь. Каждая программа может быть записана так, как если бы она использовала блокирующий ввод-вывод. Поскольку сам web-сервер компилирует каждый сценарий C, он может преобразовать программу для использования неблокирующих операций ввода-вывода. В связи с этим он может привязываться к сторонним библиотекам (например, к доступу к базе данных) и по-прежнему использовать неблокирующий характер ввода-вывода: нет переключения потоков/процессов.
Инструменты, предназначенные для программирования сценариев C, являются, например, кешированием и безопасными буферами. Следующая (еще не выпущенная на момент написания этой публикации) версия также будет содержать хранилище ключей.
Производительность: есть несколько доступных тестов, которые показывают, что он превосходит любой другой веб-сервер, однако я не доверяю им. Попробуйте написать небольшую интенсивную программу с процессором в C и, например, в PHP. Пусть сценарий C запускается в G-WAN и PHP-скрипте на Apache, а сам тест.
Существует больше, но это выходит за рамки этого вопроса.
Некоторые недостатки G-WAN в том, что он разработан только одним человеком. Однако есть форум, на котором вы можете задавать вопросы.
Простота использования ограничена вашим навыком в C. Приведенный API, однако, прост. У него все еще есть некоторые несоответствия и (на мой взгляд) уродливые части, но это не проблема. Более серьезная проблема заключается в том, что каждая версия не гарантирует обратную совместимость, и вам, возможно, придется переписать.
Если вы хотите быть в безопасности: используйте независимость платформы C: позвольте вашему коду быть скомпилированным (быстрым) CGI-программам, а также использоваться G-WAN. Могу ли G-WAN сбой, вы всегда можете отказаться от CGI Apache (Fast) (см. http://www.fastcgi.com/ для API).
Вы говорите конкретно о программировании на стороне сервера? –
Используйте свой любимый язык сценариев на сервере в обычных областях и делайте критически важные вещи в C и назовите его из своего сценария. – Amarghosh
не только это субъективно, но и несколько дубликатов на SO, пожалуйста, используйте поиск. О, и уточните свои требования более четко, если вы хотите получить четкие ответы. – SpliFF