我有一些php / python编程的经验,我很想知道像apache / light httpd这样的服务器实际上如何为脚本提供数据?
是否可以绕过c / c ++程序?并通过那个处理?
对不起这类问题。我太好奇了。用Google搜索,但无法找到一个非常好的答案。
答案 0 :(得分:0)
这些事情遵循请求 - 响应模式,其中向Web服务器发出请求。 Web服务器将处理请求并执行与请求解析到的URL(通常是Web服务或Web页面)关联的任何服务器端代码(脚本)。该脚本将执行并产生一个响应,并将其发送回调用者。
答案 1 :(得分:0)
今天,可能最常用且开销较小的是SAPI: http://en.wikipedia.org/wiki/Server_Application_Programming_Interface
SAPI的一些示例是主要用于IIS的ISAPI,用于Apache的Apache模块, 该列表随服务器一起扩展。
ISAPI: 使用系统动态链接库(DLL),以便“附加”到Web服务器和功能 可以直接调用它。 http://en.wikipedia.org/wiki/Internet_Server_Application_Programming_Interface
CGI:http://www.w3.org/CGI/ 通常会为每个请求创建一个新进程,来自服务器的数据通常在stdin中传递,程序写入stdout,一些信息作为环境变量传递。
FastCGI:http://www.fastcgi.com/drupal/ 顾名思义,它就像CGI一样,但每次发出请求时都不需要运行程序,速度更快,资源使用更少。
Xitami也有自己的名字,称为LRWP http://legacy.imatix.com/html/xitami/index12.htm
但是每个服务器都可以实现自己的。
注意:模块或外部程序解析脚本。 SAPI,CGI,FastCGI以及任何将与脚本解释器集成的二进制文件。然后解释器接收请求路径,找到脚本文件并解析它。 例如:PHP有它的apache和IIS模块。