gpt4 book ai didi

php - 快速CGI, SCGI,

转载 作者:可可西里 更新时间:2023-11-01 13:23:28 31 4
gpt4 key购买 nike

我正在用 C 编写一个 Web 服务器,我需要想出一种方法来使用 CGI 在服务器端执行动态内容。

我正在查看 FastCGI 协议(protocol),它看起来令人讨厌。这让我想起了我在类里面将 ASCII 转换为 UTF-8 并返回时不得不做的一些小 Action (当时这似乎没用,但也许不是......)

我发现了一个用 PHP 编写的很棒的库,我可以在其中启动 php-cgi -b localhost:8888 并开始与其通信。显然,我希望用 C 来实现。

如果有人能找到一个库(用于 FastCGI 客户端!),我将不胜感激。如果没有,那么我可以通过编写一个来为开源社区做出贡献。

此外,我该如何使用 SCGI?几乎没有关于它的任何文档(无论如何我都能找到)。我连接到什么 socket ?我在哪里发送请求?


此外,php-cgi 仅适用于 PHP,那么它如何适用于 Perl、Python 等?

再次感谢。

最佳答案

mario 说(在问题评论中):

  • FastCGI 主页上提到了一些库。 http://fastcgi.com/drupal/node/5 .开发套件应包括服务器。
  • 客户端实现也包括在内。 http://fastcgi.com/devkit/doc/fcgi-devel-kit.htm
  • SCGI http://python.ca/scgi/protocol.txt即使没有引用代码也非常容易实现。
  • 您需要一个作为守护进程运行的 SCGI 客户端,并在约定的端口(4000 或 5000 似乎很常见)上接受套接字连接。
  • SCGI 与 FastCGI 没有什么不同。每种语言都需要自己的守护进程,您可以运行多个。接受 CGI 请求几乎就是他们所做的。唯一的区别是套接字和 header 格式,而不是 CGI 标准输入管道和环境变量。

对此我想补充一点:CGI(这正是问题所要求的)在其工作模型中不同于 FCGI 和 SCGI。很容易将一个误认为另一个。幸运的是,Preetam 似乎要求 FCGI 和 SCGI。

关于php - 快速CGI, SCGI,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5711140/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com