




Если бы я думал о работе на этом уровне, я бы, вероятно, просто написал простой модуль Apache или IIS вместо CGI.
Тем не менее, если вы делать хотите использовать CGI, я бы предложил использовать почтенный cgic от Thomas Boutell. Это «простая» библиотека C, но она постоянно используется с середины 90-х, поэтому тщательно протестирована и прочна как камень.
У него есть это требование, но ИМХО, не все который плохое - все, что требуется, это простая пометка на странице "кредитов" (или аналогичной) вашего сайта. Они не просят огромные неприятные баннеры на каждой странице или что-то в этом роде, LOL! :-)
FastCGI - разумная альтернатива модулю Apache. Он поддерживает C / C++.
Короче говоря, я не думаю, что существует такая вещь для общего серверного CGI-программирования (конечно, счастлив, что ошибаюсь).
Вместо этого вам, вероятно, придется ориентироваться на серверные API, такие как Apache's. Этот выглядит разумным введением в обработку запросов, которая будет важной частью того, что вы делаете.
В качестве альтернативы Lighttpd может быть даже более удобным для разработчиков и (особенно если вы смотрите на производительность) быстрее.
Я отмечаю, что в разработке находится cpp-netlib, но, похоже, это только HTTP-клиент.
Да, CGI довольно универсален. В этом весь смысл - стандартизировать интерфейс между веб-сервером и дочерним процессом, запускаемым для обслуживания запроса. Я написал CGI с Turbo C, используя HTTP-сервер Боба Денни, для развертывания на серверах SGI, на которых работают NCSA, без каких-либо проблем.
И да, я понимаю, насколько старым это звучит, говоря о сервере Денни для Windows NT и о httpd NCSA, предшествовавшем Apache. Слезь с моей лужайки! :-)
Первоначально я смотрел на GNU Cgicc, поскольку это GNU, и поэтому обычно надежно. Хотя они точно существуют, но путь «прямо к API» тоже интересен.
-1, это неверно. Vanilla CGI хорошо поддерживается большинством веб-серверов. Но CGI плохо масштабируется совсем. FastCGI - отличная альтернатива, которая сохраняет большую часть семантики CGI, но намного лучше масштабируется.
Я не совсем уверен, что вы ищете, но существует веб-фреймворк C++ под названием wt (произносится как «остроумие»). Он поддерживается в значительной степени в актуальном состоянии, и если вам нужен надежный серверный код C++, это, вероятно, то, что вы ищете.
Вы можете проверить это и узнать больше на домашняя страница wt.
P.S. У вас могут возникнуть проблемы с установкой wt, если у вас нет опыта работы с библиотеками * nix или C++. Существуют пошаговые руководства, но, поскольку такие фреймворки менее популярны, ожидайте, что вы столкнетесь с несколькими ударами.
Это выглядит почти так же, как то, что я искал, но я также заядлый разработчик JavaScript. Мое первое впечатление (без исследования) состоит в том, что он пытается сделать JS за вас. Правда?
Что ж, я сам не использовал эту структуру, кроме тестирования приложения «Hello, World», но они утверждают, что вы можете. Имеется поддержка «настраиваемого JavaScript (например, для обработки событий только на стороне клиента) и выдачи сигналов C++ из этого настраиваемого JavaScript». - webtoolkit.eu/wt#/features
Действительно большой фреймворк для меня. Похоже, у него крутая кривая обучения или просто результат плохой документации (они используют doxygen).
Другой вариант - библиотека Cgicc, которая выглядит зрелой (в настоящее время находится в версии 3.x):
Посмотрите класс C++ CGI от Boost, который еще не является частью повышения.
Лицензия cgic плохая. Требуется указание ссылки или покупка коммерческой лицензии.