HTTPD是什么?

57

我的意思是,"httpd" 只被 Apache 用于软件下载,还是其他网站也在使用它?另外,运行 "cgi" 是否需要 httpd?为什么 Apache 要使用 httpd 来下载 http 服务器,而不是将其放在他们的 http 网站上呢?


4
超文本传输协议守护进程。这是一个通用的首字母缩写词,但通常指运行在计算机上的实际网络服务器应用程序/服务器,例如Apache、IIS、nginx等。 - Marc B
4个回答

83

Apache HTTPD是由Apache Foundation开发的HTTP 服务器 守护进程。它是一款监听网络请求(使用超文本传输协议)并对其进行响应的软件。

它是开源的,许多实体使用它来托管他们的网站

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

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

你可以在没有 HTTP 服务器的情况下使用 CGI,但这通常只有在允许开发者执行命令行测试 CGI 程序时才有用。(你当然无法直接从 Web 浏览器与其交互)。


我们可以说HTTPD是名为Apache的程序,例如在我的计算机上运行吗? - user5763804
3
这有点像说“汽车是在我的路上行驶的名为福特的机动车”,但“Apache”通常是Apache HTTPD的常用别名,并且通常以进程名称apacheapache.exe运行。 - Quentin
httpd.apache.org只是他们命名子域的方式,还是像FTP一样的协议? - user5763804
1
这是子域名的名称。URL中的协议后面跟着 :// - Quentin

4

HTTP守护进程是在Web服务器后台运行并等待传入服务器请求的软件程序。该守护进程自动回答请求,并使用HTTP通过互联网提供超文本和多媒体文档。


2
Apache Httpd基本上是一个用于处理请求和提供静态内容的Web服务器。而CGI是一种协议,它可以在请求中添加脚本,并根据脚本提供内容,而不仅仅是返回静态内容。因此,使用Apache Httpd并不需要使用CGI,但为了提供动态内容,httpd和cgi会一起使用。
此外,使用httpd与cgi一起传递动态内容是一个非常繁重的过程,因为它会在每个请求响应周期中创建和销毁进程,有许多其他具有最新技术的高效替代方案。

1

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

HTTPd是一个软件程序,通常作为后台进程运行,作为使用HTTP和/或HTTPS网络协议的客户端-服务器模型中的服务器。

HTTPd等待传入的客户端请求,并对每个请求进行回答,以提供所请求的信息。

以下是一些常用的HTTPd:

  1. Apache
  2. BusyBox
  3. CERN HTTPd
  4. Lighttpd
  5. Ngnix

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接