跳转至

与后端交互

web服务器如何与后端程序交互

CGI

CGI(Common Gateway Interface,通用网关接口)是一种让Web服务器能够与服务器端的程序通信的协议或者标准。 它允许Web服务器执行外部程序,并将这些程序的输出结果返回给客户端(通常是Web浏览器)。 CGI是动态网页技术的先驱,使得网站能够根据用户输入或其他动态数据生成个性化的内容。

CGI的工作原理

  1. 请求接收:当用户通过浏览器向Web服务器发送请求,如果这个请求需要动态处理(比如表单提交、查询数据库等),服务器会识别出这是一个需要CGI脚本处理的请求。

  2. 执行CGI脚本:服务器根据配置调用相应的CGI程序(可以是任何可执行文件,如Perl脚本、Python脚本、C/C++编译的二进制程序等)。在调用之前,服务器会设置一些环境变量,这些变量包含了请求的详细信息,如HTTP头信息、请求方法(GET或POST)、查询字符串等。

  3. 处理与响应:CGI程序读取这些环境变量以及标准输入(对于POST请求,数据通常在此处)来获取客户端的请求信息,进行必要的处理(比如查询数据库、计算等),然后将处理结果以标准输出的形式返回给Web服务器。

  4. 输出返回客户端:Web服务器接收到CGI程序的输出后,通常会将其作为HTTP响应的一部分(如HTML页面、图片、下载文件等)发送回客户端浏览器。

虽然CGI仍然是Web开发中的一个重要概念,但随着技术的进步,现在更多地使用了更高效的解决方案,如FastCGI、PHP、Python的WSGI、Java的Servlets等,它们在保持动态网页功能的同时,解决了CGI的一些性能和资源管理问题。

比如web服务器配置CGI,可调用服务器端特定区域的CGI脚本,实现后端逻辑 对于理解Web服务器与应用程序如何交互的基本机制,CGI仍然是一个重要的学习点

WSGI

servlet