嘿嘿!我一直想知道 web 容器、web 服务器、servlet 容器、应用程序服务器、web 框架、web 平台等之间的区别是什么。这些术语一直让我感到困惑。在谷歌上搜索得到了一些答案,但有时,网上的信息很矛盾。
根据我的理解,应用服务器是一个复杂的东西,它包括一个网络服务器和更多的东西,比如业务逻辑支持,EJB。 Web 服务器只处理简单的 http。 Web 容器是一个 Web 服务器并提供 servlet/JSP 支持。我对吗?有人可以阐明这些技术吗?也许一些引用和比较将不胜感激。我知道可能已经问过类似的问题 - 但他们要么没有得到正确回答,要么有相互矛盾的答案,或者不比较上面提出的所有技术。提前致谢!
最佳答案
也许您只是在表达对科技行业缺乏通用术语的失望,但这是我的尝试:
web 容器 - 这可能与下面的应用程序服务器相同,但专门用于 web 应用程序。
网络服务器 - 即 Apache、IIS 等。通过网络提供内容。也可用于指代通过 Web 提供内容的硬件。即“我可以访问数据库,但 Web 服务器不会响应我的 ping”。
servlet 容器 - 即 Tomcat、Jetty、Weblogic 等。这是一个特定于 Java 的术语。它指的是实现 java servlet 规范的东西。
应用程序服务器 - 即 Weblogic、Websphere、Tomcat 等。在您部署应用程序的地方(java 领域的 war/ear 文件)。 Servlet 容器是一种应用程序服务器。应用程序服务器还可以做其他事情,比如处理消息传递。应用服务器充当您的应用与其周围环境之间的一层。
网络框架 - 一个框架/库,您可以使用它更轻松地编写网络应用程序。如果愿意,您可以编写裸 servlet,但像 struts/tapestry/wicket/etc 这样的框架可能会使它更容易。一些框架可能针对特定的应用服务器。
网络平台 - 我将其定义为应用服务器附带的一种网络框架 - 即一切都在一个盒子里。您还可以使用该术语来指代诸如内容管理系统之类的东西,这些系统可以让您构建网站 - 即 Drupal
关于java - 各种网络相关技术之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4600976/