Какая библиотека C++ для программирования CGI?

Я собираюсь поработать (для удовольствия) на скомпилированном языке, чтобы запустить несколько простых тестов и тестов для php.

В принципе, я бы хотел посмотреть, что другие люди используют для программирования C++ CGI. (Включая серверную базу данных, например mysql ++ или что-то еще)

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
20
0
19 444
6
Перейти к ответу Данный вопрос помечен как решенный

Ответы 6

Если бы я думал о работе на этом уровне, я бы, вероятно, просто написал простой модуль Apache или IIS вместо CGI.

Тем не менее, если вы делать хотите использовать CGI, я бы предложил использовать почтенный cgic от Thomas Boutell. Это «простая» библиотека C, но она постоянно используется с середины 90-х, поэтому тщательно протестирована и прочна как камень.

Лицензия cgic плохая. Требуется указание ссылки или покупка коммерческой лицензии.

unixman83 28.03.2011 04:13

У него есть это требование, но ИМХО, не все который плохое - все, что требуется, это простая пометка на странице "кредитов" (или аналогичной) вашего сайта. Они не просят огромные неприятные баннеры на каждой странице или что-то в этом роде, LOL! :-)

Sherm Pendley 28.03.2011 04:33

FastCGI - разумная альтернатива модулю Apache. Он поддерживает C / C++.

unixman83 30.03.2011 13:04

Короче говоря, я не думаю, что существует такая вещь для общего серверного CGI-программирования (конечно, счастлив, что ошибаюсь).

Вместо этого вам, вероятно, придется ориентироваться на серверные API, такие как Apache's. Этот выглядит разумным введением в обработку запросов, которая будет важной частью того, что вы делаете.

В качестве альтернативы Lighttpd может быть даже более удобным для разработчиков и (особенно если вы смотрите на производительность) быстрее.

Я отмечаю, что в разработке находится cpp-netlib, но, похоже, это только HTTP-клиент.

Да, CGI довольно универсален. В этом весь смысл - стандартизировать интерфейс между веб-сервером и дочерним процессом, запускаемым для обслуживания запроса. Я написал CGI с Turbo C, используя HTTP-сервер Боба Денни, для развертывания на серверах SGI, на которых работают NCSA, без каких-либо проблем.

Sherm Pendley 25.11.2008 05:57

И да, я понимаю, насколько старым это звучит, говоря о сервере Денни для Windows NT и о httpd NCSA, предшествовавшем Apache. Слезь с моей лужайки! :-)

Sherm Pendley 25.11.2008 05:58

Первоначально я смотрел на GNU Cgicc, поскольку это GNU, и поэтому обычно надежно. Хотя они точно существуют, но путь «прямо к API» тоже интересен.

Issac Kelly 25.11.2008 06:02

-1, это неверно. Vanilla CGI хорошо поддерживается большинством веб-серверов. Но CGI плохо масштабируется совсем. FastCGI - отличная альтернатива, которая сохраняет большую часть семантики CGI, но намного лучше масштабируется.

unixman83 23.05.2011 11:31
Ответ принят как подходящий

Я не совсем уверен, что вы ищете, но существует веб-фреймворк C++ под названием wt (произносится как «остроумие»). Он поддерживается в значительной степени в актуальном состоянии, и если вам нужен надежный серверный код C++, это, вероятно, то, что вы ищете.

Вы можете проверить это и узнать больше на домашняя страница wt.

P.S. У вас могут возникнуть проблемы с установкой wt, если у вас нет опыта работы с библиотеками * nix или C++. Существуют пошаговые руководства, но, поскольку такие фреймворки менее популярны, ожидайте, что вы столкнетесь с несколькими ударами.

Это выглядит почти так же, как то, что я искал, но я также заядлый разработчик JavaScript. Мое первое впечатление (без исследования) состоит в том, что он пытается сделать JS за вас. Правда?

Issac Kelly 25.11.2008 06:05

Что ж, я сам не использовал эту структуру, кроме тестирования приложения «Hello, World», но они утверждают, что вы можете. Имеется поддержка «настраиваемого JavaScript (например, для обработки событий только на стороне клиента) и выдачи сигналов C++ из этого настраиваемого JavaScript». - webtoolkit.eu/wt#/features

dwlz 25.11.2008 06:12

Действительно большой фреймворк для меня. Похоже, у него крутая кривая обучения или просто результат плохой документации (они используют doxygen).

unixman83 30.03.2011 13:06

Другой вариант - библиотека Cgicc, которая выглядит зрелой (в настоящее время находится в версии 3.x):

http://www.gnu.org/software/cgicc/

Посмотрите класс C++ CGI от Boost, который еще не является частью повышения.

Мне было очень приятно использовать CppCMS для разработки приложения Быстрый CGI для развертывания на сервере nginx - хотя оно никогда не входило в производство = (. Проект CppCMS также включает некоторые библиотеки для подключения к SQL.

Другие вопросы по теме