我正在计划一个 Web 服务,它将用 C++ 编写。目标是能够或多或少地选择任何 Web 服务器来驱动服务。要实现这一点,我显然必须在 Web 服务器和应用程序之间选择一个标准化接口(interface)。
我听说过的众所周知的方法是:
- 计算机生成
- FastCGI
- WSGI
现在,由于我完全没有使用这些界面的经验,所以我真的不知道该选择什么。不过,我确实有一些要求。
- 需要相当快(据我所知,这几乎排除了 CGI)
- 应该在纯 C/C++ 环境中易于使用(例如,应该有可用的库)
- 必须提供对 HTTP 1.1 的支持(不知道是否重要)
感谢您的任何建议:)
最佳答案
WSGI 适用于 Python 应用;如果您的语言是 C++,则这不是一个选项。
FCGI 是一个不错的选择。 FCGI 可以作为标准 CGI 调用,方便调试和测试,然后在生产中作为 FCGI 运行。
CGI 与 FCGI 的性能在很大程度上取决于您要执行的操作以及您期望的流量。具有大量启动开销的任务从 FCGI 中获益最多; FCGI Controller 可以配置为产生额外的进程来处理重负载。
实际上,任何 Web 服务器都将以最少的配置运行 CGI;您可能需要一个额外的模块来运行 FCGI,但这取决于 Web 服务器。
关于c++ - 选择什么网络服务器接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2336075/