我正在开发一个原型Web应用程序。我正在使用我自己开发的玩具http服务器,它是用C语言编写的。服务器需要从提交的html表单中获取文本数据,并且为了进一步处理它应该将它传递给我用python编写的脚本。我知道以下方法可以达到同样的效果。此外,处理完成后,脚本必须将数据返回给服务器。
通常这是抽象出来的,因为大多数人使用apache或nginx作为理论服务。如何在服务器代码中实现CGI?
答案 0 :(得分:1)
CGI在此处介绍:http://tools.ietf.org/html/rfc3875
通过' CGI over socket'你可能意味着 FastCGI 有点不同(并且涉及在Unix套接字上监听并发回响应的长时间运行的进程)。经典CGI涉及产生一个短暂的过程,然后通过环境变量接收请求参数(通过setenv()
从您的服务器设置。
请求数据通过 stdin 发送到生成的进程(例如,在Python中,sys.stdin
)。然后通过stdout写入输出响应(带标题和全部)。
CGI非常简单,这就是为什么它被如此快速地被大量语言所采用 - 实现CGI的学习曲线相当快。
FastCGI仅在脚本语言层与CGI类似(即编程接口仍然有些类似);但是实际的机制是相当不同的(你需要通过Unix套接字序列化信息)。