Apache HTTP Server 和 Apache Tomcat 在功能方面有什么区别?

我知道Tomcat是用Java编写的,HTTP Server是用C编写的,但除此之外我真的不知道它们是如何区分的。它们有不同的功能吗?

有帮助吗?

解决方案

Apache Tomcat 用于部署 Java Servlet 和 JSP。因此,在您的 Java 项目中,您可以构建 WAR(Web ARchive 的缩写)文件,并将其放入 Tomcat 中的部署目录中。

所以基本上 Apache 是一个 HTTP 服务器,为 HTTP 提供服务。Tomcat 是一个服务于 Java 技术的 Servlet 和 JSP 服务器。

Tomcat 是一个servlet 容器。Servlet 归根结底是一个 Java 类。JSP 文件(类似于 PHP 和较早的 ASP 文件)生成 Java 代码 (HttpServlet),然后由服务器编译为 .class 文件并由 Java 虚拟机执行。

其他提示

除了上面的好答案之外,我认为应该说 Tomcat 内置了自己的 HTTP 服务器,并且在提供静态内容方面也具有完整的功能。根据您的 java 虚拟机配置,它实际上可以优于通过 apache 中的传统连接器(例如 mod_proxy 和 mod_jk)。

也就是说,完全优化的 Tomcat 服务器应该快速提供静态文件,如果除了静态内容之外您还有 Java servlet、JSP 和 ColdFusion 文件,您可能会发现 tomcat 本身就做得非常出色。

  1. Apache 是一个通用的 http 服务器,它支持 Tomcat 不支持的许多高级选项。
  2. 虽然 Tomcat 可以用作通用 http 服务器,但您也可以设置 Apache 和 Tomcat 来与 Apache 一起工作,提供静态内容并将动态内容请求转发到 Tomcat。

Tomcat 主要是一个应用程序服务器,它为服务器上定制的 Java servlet 或 JSP 文件提供请求。它通常与 Apache HTTP 服务器结合使用(至少根据我的经验)。使用它来手动处理传入的请求。

HTTP 服务器本身最适合提供静态内容......html 文件、图像等

apache服务器是一个http服务器,可以服务任何简单的http请求,其中tomcat服务器实际上是一个servlet容器,可以服务java servlet请求。

Web 服务器 [apache] 处理 Web 客户端(Web 浏览器)请求并将其转发到 servlet 容器 [tomcat],容器处理请求并将响应发送到 Web 服务器转发到 Web 客户端 [浏览器]。

您也可以查看此链接以获取更多说明:-

https://sites.google.com/site/sureshdevang/servlet-architecture

另请检查此答案以进行进一步研究:-

https://softwareengineering.stackexchange.com/a/221092

如果您使用 java 技术(Servlet/JSP)来制作 Web 应用程序,您可能会使用 Apache Tomcat。但是,如果您使用 Perl、PHP 或 ruby​​ 等其他技术,那么使用 Apache HTTP Server 会更好(更容易)。

Apache 是 HTTP Web 服务器,而 Tomcat 也是 Servlet 和 JSP 的 Web 服务器。此外,在实时性方面,Apache 优于 Apache Tomcat

Apache 是一个 HTTP Web 服务器,充当 HTTP 的角色。

Apache Tomcat 是一个java servlet 容器。它的功能与 Web 服务器相同,但被定制为执行 java servlet 和 JSP 页面。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top