应用服务器和web服务器之间的区别是什么?


当前回答

以上所有这些都是非常简单的事情。应用服务器包含一个web服务器,与标准web服务器相比,应用服务器只需要对其进行更多的添加/扩展。如果您以TomEE为例:

CDI - Apache OpenWebBeans
EJB - Apache OpenEJB
JPA - Apache OpenJPA
JSF - Apache MyFaces
JSP - Apache Tomcat
JSTL - Apache Tomcat
JTA - Apache Geronimo Transaction
Servlet - Apache Tomcat
Javamail - Apache Geronimo JavaMail
Bean Validation - Apache BVal

您将看到Tomcat(Web容器/服务器)只是应用服务器库中的另一个工具。如果你愿意,你也可以在web服务器上获得JPA和其他技术,但应用服务器只是为了你的方便而打包所有这些东西。要完全归类为应用服务器,您基本上需要遵守某个标准列出的工具列表。

其他回答

基本理解:

在客户端-服务器体系结构中

服务器:>服务请求的服务器。客户端:>使用服务。

Web服务器和应用程序服务器都是充当客户端服务器的软件应用程序。

他们的名字是根据他们的使用地点而来的。

Web server :> serve web content
           :> Like Html components
           :> Like Javascript components
           :> Other web components like images,resource files
           :> Supports mainly web protocols like http,https.
           :> Supports web Request & Response formats.

用法--我们需要低处理速率,常规处理实践涉及。例如:所有平面服务器通常都是现成的,只提供网络服务基于内容。

Application server :> Serve application content/component data(Business data).
                   :> These are special kind which are custom written 
                      designed/engineered for specific
                      purpose.some times fully unique in 
                      their way and stands out of the crowd. 

                   :> As these serves different types of data/response contents
                   :> So we can utilize these services for mobile client,web 
                      clients,intranet clients. 
                   :> Usually application servers are services offered on different 
                      protocols.    
                   :> Supports different Request& Response formats.

用法--我们需要多点处理,专门的处理技术涉及人工智能。例如:谷歌地图服务器、谷歌搜索服务器、谷歌文档服务器、微软365用于AI的微软计算机视觉服务器。

我们可以将它们假设为4层/n层体系结构中的层/层次结构。

 So they can provide 
                    load balancing,
                    multiple security levels,
                    multiple active points,
                    even they can provide different request processing environments.

请按照以下链接进行标准架构类比:

https://learn.microsoft.com/en-us/previous-versions/msp-n-p/ee658120(体积百分比3dpandp.10)

实际上,Apache是一个web服务器,Tomcat是一个应用程序服务器。当HTTP请求到达web服务器时。然后,web服务器将静态内容发送回浏览器。是否有逻辑要做,然后将该请求发送到应用程序服务器。处理完逻辑后,将响应发送到web服务器并发送到客户端。

应用服务器和web服务器都用于托管web应用程序。另一方面,Web服务器处理Web容器,Application Server处理Web容器以及EJB(Enterprise JavaBean)容器或Microsoft dot Net的COM+容器。

Web服务器被设计为提供HTTP静态内容(如HTML、图像等),对于动态内容,具有支持Perl、PHP、ASP、JSP等脚本语言的插件,并且仅限于HTTP协议。以下服务器可以生成动态HTTP内容。

Web服务器的编程环境:

IIS:ASP(.NET)

Apache Tomcat:Servlet

码头:Servlet

阿帕奇:Php,CGI

应用程序服务器可以执行Web服务器所能执行的任何操作,并使用任何协议进行侦听。应用程序服务器具有支持应用程序级服务的组件和功能,如连接池、对象池、事务支持、消息服务等。

应用程序服务器的编程环境:

MTS:COM公司+

是:EJB

JBoss:EJB

WebLogic应用服务器:EJB

在Java术语中,还有一个:web容器(或者更严格地说,servlet容器)。例如,它位于web服务器和应用程序服务器之间。

Java术语中的web容器是一个应用服务器,它基本上只实现JavaEE的JSP/Servlet部分,并且缺少JavaEE的几个核心部分,例如EJB支持。Apache Tomcat就是一个例子。

这两个术语都非常通用,一个包含另一个,在某些情况下反之亦然。

Web服务器:使用http协议向Web提供内容。应用程序服务器:托管并公开业务逻辑和流程。

我认为主要的一点是web服务器通过http协议公开所有内容,而应用程序服务器不限于此。

也就是说,在许多情况下,您会发现web服务器被用于创建应用程序服务器的前端,即它公开了一组网页,允许用户与应用程序服务器中的业务规则进行交互。