web服务器,应用程序服务器,http服务器的区别

WEB服务器、应用程序服务器、HTTP服务器有何区别?IIS、Apache、Tomcat、Weblogic、WebSphere都各属于哪种服务器? 这个概念很重要。

Web服务器的基本功能就是提供Web信息浏览服务。它只需支持HTTP协议、HTML文档格式及URL。与客户端的浏览器配合。因为Web服务器主要支持的协议就是HTTP,所以通常情况下HTTP服务器和WEB服务器是相等的.

应用程序服务器(简称应用服务器),我们先看一下微软对它的定义:"我们把应用程序服务器定义为“作为服务器执行共享业务应用程序的底层的系统软件”。 就像文件服务器为很多用户提供文件一样,应用程序服务器让多个用户可以同时使用应用程序(通常是客户创建的应用程序)"

通俗的讲,Web服务器向客户端传送页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序可以调用的方法。确切一点,你可以说:Web服务器专门处理HTTP请求(request),但是应用程序服务器是通过很多协议来为应用程序提供商业逻辑 (business logic)。

以Java EE为例,Web服务器主要是处理静态页面处理和作为 Servlet的容器,用来解释和执行servlet/JSP,而应用服务器是运行业务逻辑的,主要是EJB、 JNDI和JMX API等J2EE API方面的,还包含事务处理、数据库连接等功能,所以在企业级应用中,应用服务器提供的功能比WEB服务器强大的多。

以这样的定义,IIS、Apache、Tomcat都可以属于Web服务器,Weblogic、WebSphere都属于应用服务器。

Apache:在Web服务器中,Apache是纯粹的Web服务器,经常与Tomcat配对使用。它对HTML页面具有强大的解释能力,但是不能解释嵌入页面内的服务器端脚本代码(JSP/Servlet)。

Tomcat:早期的Tomcat是一个嵌入Apache内的JSP/Servlet解释引擎。Apache+Tomcat就相当于IIS+ASP。后来的Tomcat已不再嵌入Apache内,Tomcat进程独立于Apache进程运行。 而且,Tomcat已经是一个独立的Servlet和JSP容器,业务逻辑层代码和界面交互层代码可以分离了。因此,有人把Tomcat叫做轻量级应用服务器。

IIS:微软早期的IIS,就是一个纯粹的Web服务器。后来,它嵌入了ASP引擎,可以解释VBScript和JScript服务器端代码了,这时,它就可以兼作应用服务器。当然,它与J2EE应用服务器根本无法相比,但是,从功能上说,从原理上说,它勉强可以称之为应用服务器。确切地说,它是兼有一点应用服务器功能的Web服务器。

总结:Apache是纯粹的web服务器,而Tomcat和IIS因为具有了解释执行服务器端代码的能力,可以称作为轻量级应用服务器或带有服务器功能的Web服务器。Weblogic、WebSphere因为能提供强大的J2EE功能,毫无疑问是绝对的应用服务器。对于处于中间位置的Tomcat,它可以配合纯Web服务器Apache一起使用,也可以作为应用服务器的辅助与应用服务器一起部署:

Tomcat与Web服务器

Tomcat是提供一个支持Servlet和JSP运行的容器。Servlet和JSP能根据实时需要,产生动态网页内容。而对于Web服务器来说, Apache仅仅支持静态网页,对于支持动态网页就会显得无能为力;Tomcat则既能为动态网页服务,同时也能为静态网页提供支持。尽管它没有通常的Web服务器快、功能也不如Web服务器丰富,但是Tomcat逐渐为支持静态内容不断扩充。大多数的Web服务器都是用底层语言编写如C,利用了相应平台的特征,因此用纯Java编写的Tomcat执行速度不可能与它们相提并论。

般来说,大的站点都是将Tomcat与Apache的结合,Apache负责接受所有来自客户端的HTTP请求,然后将Servlets和JSP的请求转发给Tomcat来处理。Tomcat完成处理后,将响应传回给Apache,最后Apache将响应返回给客户端。

而且为了提高性能,可以一台apache连接多台tomcat实现负载平衡。

在大多数情形下,应用程序服务器是通过各种组件的应用程序接口(API)把商业逻辑暴露给客户端应用程序的。

应用程序服务器还可以管理自己的资源,例如看大门的工作包括安全(security),事务处理(transaction processing),资源池(resource pooling),和消息(messaging)。就象Web服务器一样,应用程序服务器配置了多种可扩展(scalability)和容错(fault tolerance)技术。

应用程序服务器与web服务器案例:

例如,假设一个在线商店的网站提供实时定价和有效的资讯信息。这个站点很可能会提供一个表单(form)让你来选择产品。当你提交查询后,网站会进行查找并把结果内嵌在HTML页面中返回。网站可以有很多种方式来实现这种功能。下面介绍一个不使用应用程序服务器 的情景和一个使用应用程序服务器的情景。观察一下这两中情景的不同会有助于我们了解应用程序服务器的功能。

情景1:不带应用程序服务器的Web服务器

在此种情景下,一个Web服务器独立提供在线商店的功能。Web服务器获得你的请求,然后发送给服务器端可以处理请求的程序。此程序从数据库或文本文件(是指没有特殊格式的非二进制的文件)如在XML文件等中查找定价信息。一旦找到,服务器端程序把结果信息表示成HTML形式,最后Web服务器把会它发送到你的Web浏览器。

简而言之,Web服务器只是简单的通过响应HTML页面来处理HTTP请求。

情景2:带应用程序服务器的Web服务器

情景2和情景1相同的是Web服务器还是把响应发送给服务器端脚本程序。然而,你可以把查找定价的商业逻辑放到应用程序服务器上。由于这种变化,此脚本只是简单的调用应用程序服务器的查找服务,而不是已经知道如何查找数据然后构建一个响应报文。这时当该脚本程序产生HTML响应(response)时就可以使用该服务的返回结果了。

  在此情景中,应用程序服务器提供(serves)了用于查询产品的定价信息的商业逻辑。(服务器的)这种功能(functionality)没有指出有关显示和客户端如何使用此信息的细节,相反客户端和应用程序服务器只是来回传送数据。当有客户端调用应用程序服务器的查找服务(lookup service)时,此服务只是简单的查找并返回结果给客户端。

通过从构建响应报文HTML的代码中分离出来,在应用程序之中该定价(查找)逻辑的可重用性更强了。其他的客户端,例如收款机,也可以调用同样的服务(service)来作为一个店员给客户结帐。相反,在情景1中的定价查找服务是不可重用的因为信息内嵌在 HTML页中了。

总而言之,在情景2的模型中,在Web服务器通过回应HTML页面来处理HTTP请求(request),而应用程序服务器则是通过处理定价和有效性(availability)请求(request)来提供应用程序逻辑的。

Servlet简介

Servlet是使用Java Servlet应用程序设计接口及相关类和方法的Java程序。它在Web服务器上或应用服务器上运行并扩展了该服务器的能力。Servlet装入Web服务器并在Web服务器内执行。

Servlet是以Java技术为基础的服务器端应用程序组件,Servlet的客户端可以提出请求并获得该请求的响应,它可以是任何Java程序、浏览器或任何设备。

Servlet运行原理

当Web服务器接收到一个HTTP请求时,它会先判断请求内容——如果是静态网页数据,Web服务器将会自行处理,然后产生响应信息;如果牵涉到动态数据,Web服务器会将请求转交给Servlet容器。此时Servlet容器会找到对应的处理该请求的Servlet实例来处理,结果会送回Web服务器,再由Web服务器传回用户端。

Servlet的运行过程

Servlet程序是由WEB服务器调用,web服务器收到客户端的Servlet访问请求后:

①Web服务器首先检查是否已经装载并创建了该Servlet的实例对象。如果是,则直接执行第④步,否则,执行第②步。

②装载并创建该Servlet的一个实例对象。

③调用Servlet实例对象的init()方法。

④创建一个用于封装HTTP请求消息的HttpServletRequest对象和一个代表HTTP响应消息的HttpServletResponse对象,然后调用Servlet的service()方法并将请求和响应对象作为参数传递进去。

⑤WEB应用程序被停止或重新启动之前,Servlet引擎将卸载Servlet,并在卸载之前调用Servlet的destroy()方法。

课本修正

--with-http_flv_module

目前,由于Flash的流行,网络上绝大多数的微视频网站都采用了Flv格式来播放视频。

在互联网上播放视频,有两种方式,一种是文件方式,即通过HTTP协议访问视频文件,这种方式的缺点是不能从特定的帧开始播放;另外一种就是采用专门的流媒体服务器,这种方式的缺点是要搭建复杂的流媒体服务器。不过,现在有了一种集合了以上两种方式优点的一种解决方案,即通过HTTP来实现伪流媒体

搭建Flv视频服务器,建议采用轻量级的HTTP服务器,毕竟Flv文件只是静态文件。轻量级的HTTP服务器有两种选择:lighttpd和nginx。选择任何一个都可以,在提供Flv服务方面,两者相差不多。

下载后进行编译,要将“ --with-http_flv_module ” 加上,这个是用来专门提供Flv服务的模块.FLV激活方式如下:

在server配置中,加入如下语句,表明所有的flv文件由flv模块进行处理:

1.location ~ \.flv { flv; }

原文地址:https://www.cnblogs.com/nsh123/p/8270690.html

时间: 2024-10-11 18:58:16

web服务器,应用程序服务器,http服务器的区别的相关文章

为报表服务器应用程序配置可用内存

尽管 Reporting Services 可使用所有可用内存,但您可以通过为分配给 Reporting Services 服务器应用程序的内存资源总量配置上限来覆盖默认行为.此外,您还可以设置阈值,以便报表服务器根据内存压力(低.中或高)来更改其排列请求优先级和处理请求的方式.在内存压力较低时,报表服务器通过为交互式或按需报表处理提供一个略高的优先级进行响应.在内存压力较高时,报表服务器使用多种方法在可用资源有限的情况下保持运行状态. 本主题介绍用户可以指定的配置设置,还说明了服务器在内存压力

登录远程服务器运行的程序,退出服务器仍然运行的方法

问题 远程登录服务器运行程序,退出服务器之后程序就中断. 解决方法 利用Screen软件 在服务器上安装screen screen -S test #创建test虚拟环境 Ctrl + A 保存 D 退出虚拟环境 参考linux下SSH远程连接断开后让程序继续执行 原文地址:https://www.cnblogs.com/pualus/p/8623975.html

无法在web服务器上启动调试,服务器不支持对ASP.NET 或ATL Server应用程序进行调试。

无法在web服务器上启动调试,服务器不支持对ASP.NET 或ATL Server应用程序进行调试. a>.DCOM配置里的属性灰色不可用的解决方法,   1>.管理工具->组件服务-计算机-电脑-iis admin server (详情查看)  appid= iis admin server A9E69610-B80D-11D0-B9B9-00A0C922E750   2>.用regedit,定位到HKEY_CLASSES_ROOT\AppID\{刚查到的ID}”   3>

web开发的背景及常用服务器

一.web开发的相关知识 WEB,英语中web即表示网页的意思,它用于表示Internet主机上外界访问的资源. Internet上供外界访问的web资源分为: 静态web资源(如HTML页面):指web页面中供人们浏览的数据始终是不变的. 动态web资源:指web页面供人们浏览器的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同. 静态web资源开发技术:HTML.css.JavaScript. 动态web资源开发技术: jsp/servlet.ASP.PHP.Python等.

初次运用myeclipse开发服务器应用程序会遇到的一个困惑J2EE

一.J2EE是什么(橘色部分是必须了解的部分,目前项目中用到了) J2EE是建立在Java 2平台上的企业级应用的解决方案.目前,Java 2平台有3个版本: (1)适用于小型设备和智能卡的Java 2平台Micro版(J2ME)Java 2 Platform Micro Edition: (2)适用于桌面系统的Java 2平台标准版(J2SE)Java 2 Platform Standard Edition: (3)适用于创建服务器应用程序和服务的Java 2平台企业版(J2EE)Java 2

配置错误_“/”应用程序中的服务器错误。

配置错误 “/”应用程序中的服务器错误. 配置错误 说明: 在处理向该请求提供服务所需的配置文件时出错.请检查下面的特定错误详细信息并适当地修改配置文件. 分析器错误消息: 在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的.如果在 IIS 中没有将虚拟目录配置为应用程序,则可能导致此错误. 源错误: 行 20: </compilation> 行 21: 行 22: <authentication mode="

asp.net“服务器应用程序不可用” 解决方法

服务器应用程序不可用 您试图在此 Web 服务器上访问的 Web 应用程序当前不可用.请点击 Web 浏览器中的“刷新”按钮重试您的请求. 管理员注意事项: 详述此特定请求失败原因的错误消息可在 Web 服务器的系统事件日志中找到.请检查此日志项以查明导致该错误发生的原因. 引起这个的原因大概是现安装了.Net Framework后装的IIS导致.Net没有在IIS里注册. IIS中ASP.NET的版本号此时可选的有1.1.2.0和4.0三个,如果想让IIS把3个版本都集成上,那NET Fram

“/wechat”应用程序中的服务器错误。

对路径“C:\inetpub\wwwroot3\wechat\img\qrcode\”的访问被拒绝. “/wechat”应用程序中的服务器错误. 对路径“C:\inetpub\wwwroot3\wechat\img\qrcode\”的访问被拒绝. 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.UnauthorizedAccessException: 对路径“C:\inetpub\ww

【问题解决方法记录】IIS服务器应用程序不可用

问题环境:Windows Server 2003   IIS6.0 问题描述: 访问IIS网站提示: 服务器应用程序不可用 您试图在此 Web 服务器上访问的 Web 应用程序当前不可用.请点击 Web 浏览器中的“刷新”按钮重试您的请求. 管理员注意事项: 详述此特定请求失败原因的错误消息可在 Web 服务器的系统事件日志中找到.请检查此日志项以查明导致该错误发生的原因. 在事件查看器中显示事件详细信息为: 由于无法创建应用程序域,因此未能执行请求.错误: 0x80070002 系统找不到指定

Web服务器父与子 Apache和Tomcat区别

http://developer.51cto.com/art/201007/210894.htm 熟悉三国的朋友都知道曹操,曹操有二十五个儿子,其中最得曹操宠爱的是曹丕.曹植.曹彰三个,曹丕性格阴冷,擅长政治:曹植才华横溢,放浪不羁:曹彰武艺高强,战功卓著.曹操一直希望这三个儿子当中选取自己的继承人,最后与曹操性格最为相近的曹丕脱颖而出.但是我们永远都不会否认曹植的才华和曹彰的武功. Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全