为什么需要 Apache HTTPD?

0 apache tcp http

我正在尝试了解服务器,但有一点我不明白,那就是:如果您的服务器上有 TCP,那么为什么需要 Apache HTTPD?

我对此还很陌生,但我了解到 TCP 基本上是服务器和路由器用来处理使用不同协议(如 http、ftp 和 ssh)的请求的协议。

那么如果 TCP 已经可以处理 http,那么我还需要 Apache HTTPD 做什么呢?

我试图找到答案,但我被告知我需要 Apache HTTPD,因为否则我无法使用 http 连接到服务器?

Tae*_*ost 5

您所说的 TCP 和 Apache 在传输模型的两个不同层上运行。这篇文章有一个非常长、深入的细分:维基百科 - Internet 协议套件

TL;DR - TCP 是Apache 用于与发出请求的计算机进行通信的传输协议。将 TCP 视为 Apache 使用的语言。

与您的问题相关的部分是抽象层:

  • 应用程序层是应用程序创建用户数据并将该数据传递给另一台或同一主机上的其他应用程序的范围。应用程序或进程利用底层提供的服务,特别是传输层,它为其他进程提供可靠或不可靠的管道。通信合作伙伴的特点是应用程序架构,例如客户端-服务器模型和对等网络。这是所有更高级别协议(例如 SMTP、FTP、SSH、HTTP)运行的层。进程通过本质上代表服务的端口进行寻址。
  • 传输层在相同或不同的主机上以及在由路由器分隔的本地网络或远程网络上执行主机到主机的通信。它为应用程序的通信需求提供了通道。UDP是基本的传输层协议,提供不可靠的数据报服务。传输控制协议提供流量控制、连接建立和可靠的数据传输。

这是一个图形表示: 网络拓扑图

在此图中,Apache 是应用程序,TCP 是传输层。