用于后端c++进程的FastCGI或HTTP

FastCGI or HTTP for backend C++ processes

本文关键字:FastCGI HTTP 进程 后端 c++ 用于      更新时间:2023-10-16

我计划构建一堆基于c++的进程,以在前端提供数据作为HTTP rest api。我一直在试图决定是否在HTTP服务器中构建或在c++进程中使用FastCGI更好。在任何一种情况下,进程都将在某些web服务器(如nginx)后面。对我来说,FastCGI似乎更简单,更容易使用,而不是拥有一个完整的HTTP服务器。FastCGI看起来也很快,但这并不重要。我认为,如果c++进程内置了HTTP,只需直接连接到它以供内部使用,测试就会更容易,但我还没有找到一个我喜欢的简单的c++ HTTP服务器库。

不要考虑编写自己的HTTP服务器,除非您有非常明确和合理的需要这样做(这里似乎不是这种情况)。如果你不想使用库或者你对这样的实现有特殊的需求,可以使用FastCGI甚至SCGI,这是一个比FastCGI更简单的协议。

我发现libevent内置了一个简单的http服务器。我一直在用它,很开心。我使用Qt,不得不做一点工作,把一个包装围绕libevent在一个线程,但它工作得很好,非常简单。

G-wan webserver,一个200 KB的可执行文件,让你编写ANSI C脚本,编辑和执行在飞行(比fastCGI更方便:所有的HTTP工作是透明地完成)。

你也可以使用"#pragma link"将任何C/c++库链接到G-WAN C脚本。

祝你项目顺利!