【发布时间】:2011-08-08 08:13:42
【问题描述】:
我正在用 C 编写一个 Web 服务器,我需要找到一种方法来使用 CGI 来执行服务器端的动态内容。
我正在查看 FastCGI 协议,它看起来烦人。它让我想起了我在课堂上将 ASCII 转换为 UTF-8 并返回时不得不做的一些小操作(当时这似乎没用,但也许不是……)
我发现了一个用 PHP 编写的很棒的库,我可以在其中启动 php-cgi -b localhost:8888 并开始与它通信。显然,我喜欢 C 语言。
如果有人能找到一个库(对于 FastCGI 客户端!),我将不胜感激。如果没有,那么我可以通过编写一个来为开源社区做出贡献。
另外,我究竟如何使用 SCGI?几乎没有任何文档(无论如何我都能找到)。我连接到什么插座?我在哪里发送请求?
另外,php-cgi 仅适用于 PHP,那么对于 Perl、Python 等如何工作?
再次感谢。
【问题讨论】:
-
FastCGI 主页上提到了一些库。 fastcgi.com/drupal/node/5 开发包应该包括服务端吧?
-
是的,这些是用于服务器的,但我需要一个用于客户端方面的库。
-
但是客户端实现包含在某些fastcgi.com/devkit/doc/fcgi-devel-kit.htm中。无论如何,SCGI python.ca/scgi/protocol.txt 即使没有参考代码,实现起来也非常简单。
-
SCGI 看起来很简单,但是我应该将这些标头发送到哪里呢?是否有某种服务我必须像
php-cgi一样开始? -
SCGI 与 FastCGI 没有什么不同。每种语言都需要自己的守护进程,您可以运行多个。接受 CGI 请求几乎就是他们所做的。唯一的区别是套接字和标头格式,而不是 CGI 标准输入管道和环境变量。