HTTPD 到底是什么?

What is HTTPD exactly?

我的意思是 "httpd" 仅供 Apache 用于下载软件,还是其他网站也使用它?是否还需要将 httpd 设置为 运行 "cgi"? 为什么 Apache 使用 httpd 下载 http 服务器而不是将它放在他们的 http 网站上的文件中?

Apache HTTPD is an HTTP server daemon produced by the Apache Foundation。它是一款侦听网络请求(使用超文本传输​​协议表示)并响应它们的软件。

它是开源的并且many entities use it to host their websites

其他 HTTP 服务器可用(包括 Apache Tomcat,它专为 运行 用 Java(不使用 CGI)编写的服务器端程序设计。

CGI 是一种协议,它允许 HTTP 服务器使用外部软件来确定如何响应请求,而不是简单地返回静态文件的内容。许多 HTTP 服务器支持 CGI 协议。

您可以在没有 HTTP 服务器的情况下使用 CGI,但这通常除了允许开发人员对 CGI 程序执行命令行测试外几乎没有什么用处。 (您当然不能直接从网络浏览器与其交互)。

HTTP Daemon 是一种在 Web 服务器后台运行并等待传入​​服务器请求的软件程序。守护程序自动响应请求并使用 HTTP 在 Internet 上提供超文本和多媒体文档。

Apache Httpd 基本上是一个用于处理请求和传送静态内容的 Web 服务器。虽然 CGI 是一种协议,它在请求中添加脚本,并根据脚本传递内容,而不是简单地返回静态内容。因此,没有必要将 CGI 与 apache httpd 一起使用,但为了传送动态内容,httpd 和 cgi 一起使用。

此外,将 httpd 与 cgi 一起使用是一个非常繁重的传递动态内容的过程,因为它会在每个请求响应周期创建和销毁过程,还有许多其他采用最新技术的有效替代方案。

HTTPd - 超文本传输​​协议守护进程

HTTPd 是一个软件程序,通常作为一个进程在后台运行。 它在使用 HTTP and/or HTTPS 网络协议的 client-server 模型中扮演服务器的角色。

HTTPd 等待传入的客户端请求,并通过回复请求的信息来响应每个请求。

以下是一些常用的HTTPd

  1. 阿帕奇
  2. BusyBox
  3. CERN HTTPd
  4. Lighttpd
  5. Ngnix