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