应用服务器和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

其他回答

应用服务器和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

大多数情况下,这些术语Web服务器和应用服务器可以互换使用。

以下是Web Server和Application Server功能的一些关键区别:

Web服务器旨在为HTTP内容提供服务。App Server还可以提供HTTP内容,但不限于HTTP。它可以提供其他协议支持,如RMI/RPCWeb服务器主要设计用于提供静态内容,尽管大多数Web服务器都有插件来支持Perl、PHP、ASP、JSP等脚本语言,这些服务器可以通过这些语言生成动态HTTP内容。大多数应用程序服务器都将Web服务器作为其组成部分,这意味着App Server可以执行Web服务器所能执行的任何操作。此外,AppServer还具有支持应用程序级服务的组件和功能,如连接池、对象池、事务支持、消息服务等。由于web服务器非常适合静态内容,而应用服务器非常适合动态内容,因此大多数生产环境都将web服务器作为应用服务器的反向代理。这意味着在处理页面请求时,静态内容(如图像/静态HTML)由解释请求的web服务器提供。使用某种过滤技术(主要是请求资源的扩展),web服务器识别动态内容请求并透明地转发到应用服务器

此类配置的示例是Apache Tomcat HTTP Server和Oracle(以前称为BEA)WebLogic Server。Apache Tomcat HTTP服务器是Web服务器,Oracle WebLogic是应用程序服务器。

在某些情况下,服务器是紧密集成的,如IIS和.NET运行时。IIS是web服务器。当配备.NET运行时环境时,IIS能够提供应用程序服务。

基本理解:

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

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

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)

虽然两者之间可能存在重叠(某些web服务器甚至可以用作应用服务器),但IMHO最大的区别在于处理模型和会话管理:

在Web服务器处理模型中,重点是处理请求;“会话”的概念几乎是虚拟的。也就是说,通过在客户端和服务器之间传输状态表示(因此是REST)和/或将其串行化到外部持久存储(SQL server、Memcached等)来模拟“会话”。

在应用程序服务器中,会话通常更加明确,并且通常在整个“会话”期间以对象的形式存在于应用程序服务器的内存中。

应用程序服务器的设计和部署通常是为了促进运行时间更长的进程,而这些进程也将更加耗费资源。

web服务器通常用于资源不密集的短突发。这主要是为了方便提供基于web的流量。