CGI

2020-11-01  本文已影响0人  wayyyy

CGI 即 Common Gateway Interface,译作“通用网关接口”,为了理解它,我们需要首先知道:静态网页和动态网页。

CGI规定了外部应用程序(CGI程序)如何与Web服务器交换信息,但由于有许多缺点,现在几乎已经被淘汰。

CGI 如何工作

http://guodongxiaren.me/cgi-bin/helloworld.cgi为例子

输入
输出

而CGI如何构造出数据(比如HTML页面)返回给浏览器呢?其实CGI本身只要向标准输出去写入数据即可。比如printf、cout等。因为Web服务器已经做了重定向,将标准输出重定向给Web服务器的与浏览器连接的socket。

实例

《深入理解计算机系统》中有一个简单的C语言Web 服务器实例,里面有一个简单CGI例子。

image.png
关键代码分析

setenv/getenv
dup2
mmap

缺点


参考资料
1、https://www.jianshu.com/p/dd580395bf11
2、《深入理解计算机系统》
3、https://zhuanlan.zhihu.com/p/25013398

上一篇 下一篇

猜你喜欢

热点阅读