web服务器和应用服务器

前导:要想了解web服务器和应用服务器,必须要了解什么是web服务器、什么是应用服务器,以及二者之间的区别和联系

web服务器(Web Server)
   理解WEB服务器,首先你要理解什么是WEB?
   WEB你可以简单理解为你所看到的HTML页面就是WEB的数据元素,处理这些数据元素的应用软件就叫WEB服务器,如apache、IIS。 WEB服务器与客户端打交道,它要处理的主要信息有:session、request、response、HTML等
   Web服务器可以解析(handles)HTTP协议。当Web服务器接收到一个HTTP请求(request),会返回一个HTTP响应(response),例如送回一个HTML页面。为了处理一个请求(request),Web服务器可以响应(response)一个静态页面或图片,进行页面跳转(redirect),或者把动态响应(dynamic response)的产生委托(delegate)给一些其它的程序例如CGI脚本,JSP(JavaServer Pages)脚本,servlets,ASP(Active Server Pages)脚本,服务器端(server-side)JavaScript,或者一些其它的服务器端(server-side)技术。无论它们(译者注:脚本)的目的如何,这些服务器端(server-side)的程序通常产生一个HTML的响应(response)来让浏览器可以浏览。
   要知道,Web服务器的代理模型(delegation model)非常简单。当一个请求(request)被送到Web服务器里来时,它只单纯的把请求(request)传递给可以很好的处理请求(request)的程序(译者注:服务器端脚本)。Web服务器仅仅提供一个可以执行服务器端(server-side)程序和返回(程序所产生的)响应(response)的环境,而不会超出职能范围。服务器端(server-side)程序通常具有事务处理(transaction processing),数据库连接(database connectivity)和消息(messaging)等功能
   虽然Web服务器不支持事务处理或数据库连接池,但它可以配置(employ)各种策略(strategies)来实现容错性(fault tolerance)和可扩展性(scalability),例如负载平衡(load balancing),缓冲(caching)。集群特征(clustering—features)经常被误认为仅仅是应用程序服务器专有的特征。

应用服务器:
   应用服务器,如JSP,处理的是非常规性WEB页面(JSP文件),它动态生成WEB页面,生成的WEB页面在发送给客户端(实际上当应用服务器处理完一个JSP请求并完成JSP生成HTML后它的任务就结束了,其余的就是WEB处理的过程了)
   根据定义,作为应用程序服务器,它通过各种协议,可以包括HTTP,把商业逻辑暴露给(expose)客户端应用程序。Web服务器主要是处理向 浏览器发送HTML以供浏览,而应用程序服务器提供访问商业逻辑的途径以供客户端应用程序使用。应用程序使用此商业逻辑就像你调用对象的一个方法(或过程 语言中的一个函数)一样。
   应用程序服务器的客户端(包含有图形用户界面(GUI)的)可能会运行在一台PC、一个Web服务器或者甚至 是其它的应用程序服务器上。在应用程序服务器与其客户端之间来回穿梭(traveling)的信息不仅仅局限于简单的显示标记。相反,这种信息就是程序逻 辑(program logic)。 正是由于这种逻辑取得了(takes)数据和方法调用(calls)的形式而不是静态HTML,所以客户端才可以随心所欲的使用这种被暴露的商业逻辑。
   在大多数情形下,应用程序服务器是通过组件(component)的应用程序接口(API)把商业逻辑暴露(expose)(给客户端应用程序)的,例 如基于J2EE(Java 2 Platform, Enterprise Edition)应用程序服务器的EJB(Enterprise JavaBean)组件模型。此外,应用程序服务器可以管理自己的资源,例如看大门的工作(gate-keeping duties)包括安全(security),事务处理(transaction processing),资源池(resource pooling), 和消息(messaging)。就象Web服务器一样,应用程序服务器配置了多种可扩展(scalability)和容错(fault tolerance)技术。

简而言之,应用服务器处理业务逻辑,web服务器则主要是让客户可以通过浏览器进行访问,处理HTML文件,web服务器通常比应用服务器简单。
WEB服务器:Apache、IIS、Nginx(也是反向代理服务器)
应用服务器:Tomcat、Weblogic、Jboss


一 web服务器

1.Apache服务器
   Apache是世界使用排名第一的Web服务器。它可以运行在几乎所有广泛使用的计算机平台上。源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。Apache取自“a patchy server”的读音,意思是充满补丁的服务器,Apache有多种产品,可以支持SSL技术,支持多个虚拟主机。Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境,因此,在一个Apache Web站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。
Apache web服务器软件拥有以下特性:
1、支持最新的HTTP/1.1通信协议
2、拥有简单而强有力的基于文件的配置过程
3、支持通用网关接口
4、支持基于IP和基于域名的虚拟主机
5、支持多种方式的HTTP认证
6、集成Perl处理模块
7、集成代理服务器模块
8、支持实时监视服务器状态和定制服务器日志
9、支持服务器端包含指令(SSI)
10、支持安全Socket层(SSL)
11、提供用户会话过程的跟踪
12、支持FastCGI
    更多Apache相关信息请参考Apache入门篇1、Apache入门篇3

2.IIS web服务器
IIS是Internet Information Services的缩写,是一个World Wide Web server。Gopher server和FTP server全部包容在里面。 IIS意味着你能发布网页,并且有ASP(Active Server Pages)、JAVA、VBscript产生页面,有着一些扩展功能。IIS支持一些有趣的东西,像有编辑环境的界面(FRONTPAGE)、有 全文检索功能的(INDEX SERVER)、有多媒体功能的(NET SHOW) 其次,IIS是随Windows NT Server 4.0一起提供的文件和应用程序服务器,是在Windows NT Server上建立Internet服务器的基本组件。它与Windows NT Server完全集成,允许使用Windows NT Server内置的安全性以及NTFS文件系统建立强大灵活的Internet/Intranet站点。IIS(Internet Information Server,互联网信息服务)是一种Web(网页)服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,它使得在网络(包括互联网和局域网)上发布信息成了一件很容易的事。
IIS应用服务器有以下特性:
IIS 6.0 与Windows Server 2003为网络应用服务器的管理提供了许多新的特性,包括实用性、可靠性、安全性与可扩展性。IIS 6.0也增强了开发和国际化支持,Windows Server 2003和IIS 6.0为您提供了一整套最可靠、高效、连接的一体化网络应用解决方案。微软自带的产品,操作简单,下一步下一步就可以完成架设了。

二 应用服务器

1.Tomcat应用服务器
    Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你 运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。
    更多Tomcat相关信息请参考Tomcat快速入门

2.Weblogic应用服务器
    Web Logic是美国bea公司出品的一个application server确切的说是一个基于Javaee架构的中间件,BEA Web Logic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中,是用来构建网站的必要软件,拥有解析发布网页等功能,它是用纯java开发的。
Web logic应用服务器有以下优点:
1对业内多种标准的全面支持,包括EJB、JSB、JMS、JDBC、XML和WML,使Web应用系统的实施更为简单,并且保护了投资,同时也使基于标准的解决方案的开发更加简便。
2无限的可扩展性BEA Web Logic Server以其高扩展的架构体系闻名于业内,包括客户机连接的共享、资源pooling以及动态网页和EJB组件群集。
3、凭借对EJB和JSP的支持,以及BEA Web Logic Server 的Servlet组件架 构体系,可加速投放市场速度。这些开放性标准与Web Gain Studio配合时,可简化开发,并可发挥已有的技能,迅速部署应用系统。
4、BEA Web Logic Server的特点是与领先数据库、操作系统和Web服务器紧密集成。
5、关键任务可靠性其容错、系统管理和安全性能已经在全球数以千记的关键任务环境中得以验证。
6、BEA Web Logic Server简化了可移植及可扩展的应用系统的开发,并为其它应用系统和系统提供了丰富的互操作性。凭借其出色的群集技术,BEA Web Logic Server拥有最高水平的可扩展 性和可用性。BEA Web Logic Server既实现了网页群集,也实现了EJB组件 群集,而且不需要任何专门的硬件或操作系统支持。网页群集可以实现透明的复制、负载平衡以及表示内容容错,如Web购物车;组件群集则处理复杂的复制、负载平衡和EJB组件容错,以及状态对象(如EJB实体)的恢复。 无论是网页群集,还是组件群集,对于电子商务解决方案所要求的可扩展性和可用性都是至关重要的。共享的客户机/服务器和数据库连接以及数据缓存和EJB都增强了性能表现。这是其它Web应用系统所不具备的。

3.JBoss应用服务器
简介:
JBoss 是一套开源的企业级 Java 中间件系统,用于实现基于 SOA 的企业应用和服务。是一个运行EJB的J2EE应用服务器。它是开放源代码的项目,遵循最新的J2EE规范。从JBoss项目开始至今,它已经从一个EJB容器发展成为一个基于的J2EE的一个web操作系统(operating systemfor web),它体现了J2EE规范中最新的技术,含有Jsp和Servlet容器,也就可以做web容器,也包含 EJB容器,是完整的J2EE应用服务器。JBoss 是最受欢迎而且功能最为强大的应用服务器。最新版本的JBoss AS 7.0.2已经发布。
JBoss应用服务器有以下优点:
1、JBoss是免费的,开放源代码J2EE的实现,通过LGPL许可证进行发布。但同时也有闭源的,开源和闭源流入流出的不是同一途径。
2、JBoss需要的内存和硬盘空间比较小。
3、安装便捷:解压后,只需配置一些环境变量即可。
4、JBoss支持"热部署",部署BEAN时,只拷贝BEAN的JAR文件到部署路径下即可自动加载它;如果有改动,也会自动更新。
5、JBoss与Web服务器在同一个Java虚拟机中运行 ,Servlet调用EJB不经过网络,从而大大提高运行效率,提升安全性能。
6、用户可以直接实施J2EE-EAR,而不是以前分别实施EJB-JAR和Web-WAR,非常方便。
7、Jboss支持集群。

对以上几种服务器的对比和分析
    Apache是一个静态页面,而Tomcat是一个动态页面。如果想要在Apache环境下运行jsp动态网页就需要一个jsp解释器,而tomcat就是作为一个解释器来帮助在Apache的环境下执行动态页面,Tomcat是先将静态页面转换成java.类型文件,然后再以jsp.的文件形式运行。但是在处理静态页面时,tomcat就不如Apache那样迅速,也不能对其进行配置。因此在现实的使用中,Tomcat是做为一Apache的一个插件来显示网站的动态页面的。这样可以使网站具有更好的扩展性和安全性。
    JBoss Web将Tomcat内核作为其Servlet容器引擎,Tomcat,在很活动连接支持、静态内容、大文件和HTTPS处理上表象不如JBoss那样优越,同时Tomcat只能运行Java应用程序,企业在使用时Tomcat,这样在使用时需要用Apache Web Server进行整合。
    Apache支持所有的操作系统,可以跨平台使用,而IIS只能基于windows操作系统下使用,在开源代码方面Apache是完全开放免费的,而IIS是部分开源代码。在安装上IIS使用的是傻瓜式图形化安装,使用者只要按照提示安装即可,但是Apache在安装上相对复杂困难,在语言的运行方面Apache支持多种运行语言例如ASP,PHP,JSP,但是IIS如果要运行PHP需要反复的配置才能运行。

web服务器和应用服务器的区别与分析相关推荐

  1. Web服务器和应用服务器的区别与联系

    一.Web服务器与应用服务器 Web服务器简介 什么是Web服务器 WEB即超文本(hypertext).超媒体(hypermedia)和超文本传输协议(HTTP),获取这些静态资源实际上是在请求服务 ...

  2. WEB服务器与应用服务器的区别

    一,简述 WEB服务器与应用服务器的区别: 1.WEB服务器: 理解WEB服务器,首先你要理解什么是WEB?WEB你可以简单理解为你所看到的HTML页面就是WEB的数据元素,处理这些数据元素的应用软件 ...

  3. web服务器和应用服务器的区别以及负载均衡---学习笔记

    一.区别: web服务器可以解析(handles)http协议.当web服务器接收到一个http请求(request),会返回一个http响应 (response),例如送回一个html页面.为了处理 ...

  4. Java中常用WEB服务器和应用服务器

    一.web服务器和应用服务器的区别 Web服务器传送页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序可以调用(call)的方法(methods).确切一点,你可以说:Web服务器专门处理 ...

  5. Web服务器和应用服务器有啥区别?

    转自:微点阅读  https://www.weidianyuedu.com Web服务器和应用服务器简介 通俗的讲,Web服务器传送页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序可以调 ...

  6. Web服务器,Web容器和应用服务器的区别

    转载自http://www.2cto.com/os/201504/395183.html 1.什么是服务器? 2.Web服务器,Web容器和应用服务器的区别? 3.Apache和Tomcat的区别? ...

  7. 应用程序服务器和Web服务器之间有什么区别?

    应用程序服务器和Web服务器之间有什么区别? #1楼 最大的不同是Web服务器处理HTTP请求,而应用程序服务器将在任意数量的协议上执行业务逻辑. #2楼 这取决于特定的体系结构. 某些应用程序服务器 ...

  8. 理清web服务器跟应用服务器的基本概念(纯拷贝)

    一 常见的WEB服务器和应用服务器 在UNIX和LINUX平台下使用最广泛的免费web服务器是W3C.NCSA和APACHE服务器,而Windows平台NT/2000/2003使用IIS的WEB服务器 ...

  9. WEB 容器、WEB服务和应用服务器的区别与联系

    [web 容器] 何为容器: 容器是一种服务调用规范框架,J2EE 大量运用了容器和组件技术来构建分层的企业级应用.在 J2EE 规范中,相应的有 WEB Container 和 EJB Contai ...

最新文章

  1. TCP 三次握手与四次挥手
  2. 70. Leetcode 701. 二叉搜索树中的插入操作 (二叉搜索树-基本操作类)
  3. 计算机技术在办公自动化中的应用,计算机技术在办公自动化中的应用浅析.doc...
  4. asterisk 互联问题
  5. 档案盒正面标签制作_错题本科学制作方法、正确使用方式及窍门
  6. 代码整洁之道读书笔记----第四章---注释--第一节-什么是好注释如何写好注释
  7. 动态ActionForm
  8. 程序员职业发展路径图:从菜鸟工程师到高级架构师(转)
  9. openstack镜像格式转换
  10. 初三英语关于计算机的作文,初三英语作文
  11. 51采集温度电压电流+LCD1602显示
  12. 1.1 创造性和动机
  13. MongoDB时间加减操作记录
  14. iOS16新特性及开发适配
  15. IoT开源平台Thingsboard二次开发研究
  16. NLP-文本向量化:Word Embedding 一般步骤【字符串->分词->词汇序列化->词汇向量化】
  17. php float 取整,php float 转 int 的问题
  18. 着色 Shading
  19. Android计算器(计算表达式,能计算小数点以及括号)方法简单易懂
  20. golang中的图像image处理详解

热门文章

  1. Cholesky分解对相关变量的解耦
  2. 银行信用等级评分及实现
  3. linux编辑音频文件,Linux下载安装ocenaudio音频编辑器
  4. oracle 应用系统,Oracle应用系统发展势头强劲
  5. 利用Astar算法实现飞行轨迹的三维规划附Matlab代码
  6. 修改Unity的Cache缓存位置
  7. 一个月学python_python学习一月总结_汇总大牛们的思想_值得收藏
  8. Mega16_CN3083 and NOKIA_5110实现太阳嫩充电器
  9. transport connector和network connector
  10. 笑傲江湖java_笑傲江湖葵花劫_JAVA游戏免费版下载_7723手机游戏[www.7723.cn]