一、web服务器和应用服务器的区别

Web服务器传送页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序可以调用(call)的方法(methods)。确切一点,你可以说:Web服务器专门处理HTTP请求(request),但是应用程序服务器是通过很多协议来为应用程序提供(serves)商业逻辑(business logic)。
简而言之,应用服务器处理业务逻辑,web服务器则主要是让客户可以通过浏览器进行访问,处理HTML文件,web服务器通常比应用服务器简单。

Web服务器(Web Server)

  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)经常被误认为仅仅是应用程序服务器专有的特征。

应用程序服务器(The Application Server)

  根据我们的定义,作为应用程序服务器,它通过各种协议,可以包括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服务器和应用服务器

(1)web服务器

Unix和Linux下,常用的Web服务器有Apache、Nginx、Lighttpd、Tomcat、IBM WebSphere、WebLogic 等,应用最广泛的是Apache。
Windows下最常用的是微软公司的IIS(Internet Information Server)。

1.Apache服务器

Apache仍然是世界上用的最多的服务器,它源于NCSAhttpd服务器,世界上很多著名的网站都是Apache的用户。

源代码开放,有一支开放的开发队伍、支持跨平台的应用,可移植性等,Apache的模块支持非常丰富,但是,速度、性能上不及掐轻量级Web服务器,属于重量级产品,所消耗的内存比其他Web服务器要高。

2.Lighttpd服务器

Lighttpd是由一个德国人写的开源软件,目标是提供一个专门针对高性能网站、安全、快速、兼容性好,并且灵活的WebServer环境。

具有内存开销低、CPU占用率低、效能好、一级模块丰富等特定,支持FastCGI、CGI、Auth、输出压缩(output compress)、URL重写及Alias等重要功能。

Lighttpd和Nginx一样,是一款轻量级Web服务器,是Nginx竞争对手之一。

3.Tomcat服务器

Tomcat是一个开放源代码、运行servlet和JSP Web应用软件的基于Java的Web应用软件容器。

Tomcat Server是根据servlet和JSP规范执行的,因此,可以说Tomcat Server实行了Apache-Jakarta规范,而且,比绝大多数商业应用软件服务器要好,但是,Tomcat对静态文件、高并发的处理比较弱。

4.IBM WebSphere服务器

WebSphere Application Server是一种功能完善、开放的Web用用程序服务器,是IBM电子商务计划的核心部分,它是基于Java的应用环境、建立、部署和管理Internet和Intranet Web应用程序。

5.Microsoft IIS服务器

Microsoft的Web服务器是IIS(Internet Information Server),是允许在公共Intranet或Internet上发布信息的Web服务器,IIS提供了一个图形界面的管理工具,称为Internet服务管理器,用于监视配置和控制Internet服务。

IIS是一种Web服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,它使在网络上发布信息成了一件很容易的事情。

它提供ISAPI(Intranet Server API)作为扩展Web服务器功能的编程接口,此外,还提供一个Internet数据库连接器,可以实现对数据库的查询和更新。

(2)web应用服务器

1.Tomcat服务器

Tomcat是一个开放源代码、运行servlet和JSP Web应用软件的基于Java的Web应用软件容器。Tomcat Server是根据servlet和JSP规范进行执行的,因此我们就可以说Tomcat Server也实行了Apache-Jakarta规范且比绝大多数商业应用软件服务器要好。

2.IBM WebSphere
WebSphere Application Server 是 一 种功能完善、开放的Web应用程序服务器,是IBM电子商务计划的核心部分,它是基于 Java 的应用环境,用于建立、部署和管理 Internet 和 Intranet Web 应用程序。 这一整套产品进行了扩展,以适应 Web 应用程序服务器的需要,范围从简单到高级直到企业级。

WebSphere 针对以 Web 为中心的开发人员,他们都是在基本 HTTP服务器和 CGI 编程技术上成长起来的。IBM 将提供 WebSphere 产品系列,通过提供综合资源、可重复使用的组件、功能强大并易于使用的工具、以及支持 HTTP 和 IIOP 通信的可伸缩运行时环境,来帮助这些用户从简单的 Web 应用程序转移到电子商务世界。

3.BEA WebLogic
BEA WebLogic Server 是一种多功能、基于标准的web应用服务器,为企业构建自己的应用提供了坚实的基础。各种应用开发、部署所有关键性的任务,无论是集成各种系统和数据库,还是提交服务、跨 Internet 协作,起始点都是 BEA WebLogic Server。由于 它具有全面的功能、对开放标准的遵从性、多层架构、支持基于组件的开发,基于 Internet 的企业都选择它来开发、部署最佳的应用。

BEA WebLogic Server 在使应用服务器成为企业应用架构的基础方面继续处于领先地位。BEA WebLogic Server 为构建集成化的企业级应用提供了稳固的基础,它们以 Internet 的容量和速度,在连网的企业之间共享信息、提交服务,实现协作自动化。BEA WebLogic Server 的遵从 J2EE 、面向服务的架构,以及丰富的工具集支持,便于实现业务逻辑、数据和表达的分离,提供开发和部署各种业务驱动应用所必需的底层核心功能。

Java中常用WEB服务器和应用服务器相关推荐

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

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

  2. web服务器和应用服务器的区别与分析

    web服务器和应用服务器 前导:要想了解web服务器和应用服务器,必须要了解什么是web服务器.什么是应用服务器,以及二者之间的区别和联系 web服务器(Web Server)    理解WEB服务器 ...

  3. weblogic多次连接后tcp服务堵塞_一文看懂 Web服务器、应用服务器、Web容器、反......

    导读:我们知道,不同肤色的人外貌差别很大,而双胞胎的辨识很难.有意思的是Web服务器/Web容器/Web应用程序服务器/反向代理有点像四胞胎,在网络上经常一起出现.本文将带读者对这四个相似概念如何区分 ...

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

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

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

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

  6. java 中常用框架、intell idea简单使用、爬虫系统

    学习:http://www.ityouknow.com/spring-boot.html http://blog.didispace.com/spring-boot-learning-1/ ***in ...

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

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

  8. Web服务器,应用服务器,HTTP服务器,web软件数据流向

    先上结论:Web服务器和应用服务器都是HTTP服务器,即提供http服务的服务器. 什么是服务器(server) 一般来说,server 有两重意思: 有时候 server 表示硬件,也就是一台机器. ...

  9. JAVA中常用英文单词简写释义

    JAVA中常用英文单词简写释义 关于java ee, ide,jms,jmx,jndi等专业术语的全称问题 API (Application Programming Interface) 应用编程接口 ...

最新文章

  1. 收藏!15000个Python开源项目中精选Top30!
  2. ASP.NET 2.0 之 Master Page 学习笔记 --zt
  3. boost::geometry::index::intersects用法的测试程序
  4. 周三多管理学第七版pdf_为什么说管理学原理是企业领导的必修课?
  5. spring之集合注入
  6. 【LeetCode】【HOT】617. 合并二叉树(递归)
  7. Java嵌入式数据库H2学习总结(二)——在Web应用程序中使用H2数据库
  8. mail函数 开启php,PHP mail函数使用详解
  9. type python django models_Django 模型
  10. 【Cesium】点击billboard弹出自定义气泡框
  11. 细胞分裂(洛谷 P1069)
  12. linux 压缩文件与解压文件
  13. Android 9.0 wifi 热点 汇总
  14. STM32F103C8T6基础开发教程(HAL库)—开发环境配置
  15. 免费wifi帮助文档
  16. 贵阳中天会展城A10大平层350平米户型装修设计效果图
  17. c语言编程一对新出生的兔子,C语言 有一对兔子。从出生后第三个月起每个月都生一对兔子,小兔子长到三个月后又生一对小兔子,假如兔子都不死,问每个月的兔子总数为多少。...
  18. ResNeSt: Split-Attention Networks(ResNet改进版本)
  19. 【测试用例】一支笔的测试用例
  20. 直播技术总结(四)音视频数据压缩及编解码基础

热门文章

  1. parseInt里的基数参数
  2. 重新认识下JVM级别的本地缓存框架Guava Cache——优秀从何而来
  3. 五岳核心版上线,这份阿里开发手册核心版又将被多少人疯狂转载?
  4. 英语 | Day 33、34 x 句句真研每日一句(找从句、意译)
  5. 战场控制系统 线段树
  6. 将数据写入文件C语言fwrite,fwrite -- 将数据写入到文件中
  7. 在APP开发整个过程中,有哪些错误是容易出现的呢?
  8. 这家工作室为网飞、亚马逊、迪士尼都制作过特效
  9. 抓包工具:Fiddler下载、安装、使用 教程
  10. python爬取腾讯视频会员V力值