CGI后缀文件

#cgi #web安全

cgi后缀文件,全称是common gateway interface(通用网关接口)。

我的理解:是一种可以用任何语言实现接口功能的网关接口,比如我有一个Python程序,需要一个单独的功能在计算机本机上做一些处理,我可以选择使用Python的OS模块调用系统函数实现,我也可以有一个"引擎"支持我使用Shell脚本进行处理然后将结果返回给"引擎"并同步到Python程序?

那么cgi的运行是否需要类似"引擎"一样的东西?

cgi的标准解释:CGI 是一种标准协议,用于在 Web 服务器和外部程序之间进行通信。它定义了 Web 服务器如何将客户端请求(通常通过 HTTP 协议)传递给一个外部程序(可以用任何编程语言编写,比如 Python、Shell、Perl、C 等),以及该程序如何将处理结果返回给 Web 服务器,最终再传递给客户端。

总结:cgi是Web服务器和外部程序之间的桥梁。

如果服务对象是Web服务器的话,那上面关于"引擎"的问题就可以解决了,只要Web服务器有路由支持调用cgi文件即可(比如cgi-bin目录),调用cgi程序执行完成之后返回结果给Web服务器。