应用服务器是什么_应用服务器有哪些

1、定义 应用服务器是指通过各种协议把商业逻辑曝露给客户端的程序。它提供了访问商业逻辑的途径以供客户端应用程序使用。应用服务器使用此商业逻辑就像调用对象的一个方法一样。
简单的说,能实现动态网页技术的服务器叫做应用服务器。
web应用程序驻留在应用服务器(application server)上。应用服务器为web应用程序提供一种简单的和可管理的对系统资源的访问机制。它也提供低级的服务,如http协议的实现和数据库连接管理。servlet容器仅仅是应用服务器的一部分。除了servlet容器外,应用服务器还可能提供其他的java ee(enterprise edition)组件,如ejb容器,jndi服务器以及jms服务器等。
市场上可以得到多种应用服务器,其中包括apache的tomcat、ibm的websphere、caucho technology的resin、macromedia的jrun、nec webotx application server、jboss application server、bea的weblogic、ibm的websphere等。其中有些如nec webotx application server、weblogic、websphere不仅仅是servlet容器,它们也提供对ejb(enterprise javabeans)、jms(java message service)以及其他java ee技术的支持。每种类型的应用服务器都有自己的优点、局限性和适用性。
2、分类 通常,根据确定文档内容的时间,所有文档可以划分为如下三类。
静态
静态:静态we b 文档是一个存储于we b服务器的文件。静态文档的作者在写作的时候确定文档的内容。由于文档内容不会变化,所以对静态文档的每次访问都返回相同结果。
动态
动态:动态web文档不是以一个预先定义的格式存在,而是在浏览器访问web服务器时创建。当一个请求到达时,web服务器运行一个应用程序创建动态文档(dynamic documents),服务器返回程序的输出作为应答。由于每次访问都要创建新的文档,动态文档的内容是变化的。
大型web服务器在unix和linux平台下使用最广泛的免费http服务器是w3c、ncsa和apache服务器,而windows平台nt/2000/2003使用iis的web服务器。在选择使用web服务器应考虑的本身特性因素有:性能、安全性、日志和统计、虚拟主机、代理服务器、缓冲服务和集成应用程序等,下面介绍几种常用的web服务器。
microsoft iis microsoft的web服务器产品为internet information server (iis),iis 是允许在公共intranet或internet上发布信息的web服务器。iis是目前最流行的web服务器产品之一,很多著名的网站都是建立在iis的平台上。iis提供了一个图形界面的管理工具,称为internet服务管理器,可用于监视配置和控制internet服务。
iis是一种web服务组件,其中包括web服务器、ftp服务器、nntp服务器和smtp服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,它使得在网络(包括互联网和局域网)上发布信息成了一件很容易的事。它提供isapi(intranet server api)作为扩展web服务器功能的编程接口;同时,它还提供一个internet数据库连接器,可以实现对数据库的查询和更新。
ibm websphere websphere application server 是 一 种功能完善、开放的web应用程序服务器,是ibm电子商务计划的核心部分,它是基于java 的应用环境,用于建立、部署和管理internet 和intranet web 应用程序。 这一整套产品进行了扩展,以适应web 应用程序服务器的需要,范围从简单到高级直到企业级。
websphere 针对以web 为中心的开发人员,他们都是在基本http服务器和cgi 编程技术上成长起来的。ibm 将提供websphere 产品系列,通过提供综合资源、可重复使用的组件、功能强大并易于使用的工具、以及支持http 和iiop 通信的可伸缩运行时环境,来帮助这些用户从简单的web 应用程序转移到电子商务世界。
bea weblogic bea weblogic server 是一种多功能、基于标准的web应用服务器,为企业构建自己的应用提供了坚实的基础。各种应用开发、部署所有关键性的任务,无论是集成各种系统和数据库,还是提交服务、跨internet 协作,起始点都是bea weblogic server。由于它具有全面的功能、对开放标准的遵从性、多层架构、支持基于组件的开发,基于internet 的企业都选择它来开发、部署最佳的应用。
bea weblogic server 在使应用服务器成为企业应用架构的基础方面继续处于领先地位。bea weblogic server 为构建集成化的企业级应用提供了稳固的基础,它们以internet 的容量和速度,在连网的企业之间共享信息、提交服务,实现协作自动化。
apache apache仍然是世界上用的最多的web服务器,市场占有率达60%左右。它源于ncsahttpd服务器,当ncsa www服务器项目停止后,那些使用ncsa www服务器的人们开始交换用于此服务器的补丁,这也是apache名称的由来(pache 补丁)。世界上很多著名的网站都是apache的产物,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的unix、windows、linux系统平台上)以及它的可移植性等方面。
tomcat tomcat是一个开放源代码、运行servlet和jsp web应用软件的基于java的web应用软件容器。tomcat server是根据servlet和jsp规范进行执行的,因此我们就可以说tomcat server也实行了apache-jakarta规范且比绝大多数商业应用软件服务器要好。
tomcat是java servlet 2.2和javaserver pages 1.1技术的标准实现,是基于apache许可证下开发的自由软件。tomcat是完全重写的servlet api 2.2和jsp 1.1兼容的servlet/jsp容器。tomcat使用了jserv的一些代码,特别是apache服务适配器。随着catalina servlet引擎的出现,tomcat第四版号的性能得到提升,使得它成为一个值得考虑的servlet/jsp容器,因此目前许多web服务器都是采用tomcat。
小型web服务器 【micro_httpd - really small http server】 特点:
* 支持安全的。。 上级目录过滤
* 支持通用的mime类型
* 支持简单的目录
* 支持目录列表
* 支持使用index.html 作为首页
* trailing-slash redirection
* 程序总共代码才200多行
这个httpd适合学习简单的web server编写学习,因为它只有一个简单的框架,只能够处理简单的静态页,可以考虑用来放静态页。
【mini_httpd - small http server 】 特点:
* 支持get、head、post方法
* 支持cgi功能
* 支持基本的验证功能
* 支持安全。。 上级目录功能
* 支持通用的mime类型
* 支持目录列表功能
* 支持使用index.html, index.htm, index.cgi 作为首页
【thttpd - tiny/turbo/throttling http server 】 thttpd中是一个简单,小型,轻便,快速和安全的http服务器。
简单:它能够支持http/1.1协议标准,或者超过了最低水平
小巧:它具有非常少的运行时间,因为它不fork子进程来接受新请求,并且非常谨慎的分配内存(性能对比表:http://www.acme.com/software/thttpd/benchmarks.html)
便携:它能够在大部分的类unix系统上运行,包括freebsd, sunos 4, solaris 2, bsd/os, linux, osf等等
快速:它的速度要超过主流的web服务器(apache, ncsa, netscape),在高负载情况下,它要快的多
安全:它努力的保护主机不受到攻击,不中断服务器
thttpd 类似于lighttpd,对于并发请求不使用fork()来派生子进程处理,而是采用多路复用(multiplex)技术来实现。因此效能很好。同时它还有一个特点就是基于url的文件流量限制,这对于下载的流量控制而言是非常方便的。象apache就必须使用插件实现,效率较thttpd低。
thttpd跟lighttpd类似,适合静态资源类的服务,比如图片、资源文件、静态html等等的应用,性能应该比较好,同时也适合简单的cgi应用的场合。
* 支持多个根目录的虚拟主机
* 支持标准日志记录
* 支持自定义错误页
* trailing-slash redirection
mini_httpd 也是相对比较适合学习使用,大体实现了一个web server的功能,支持静态页和cgi,能够用来放置一些个人简单的东西,不适宜投入生产使用。
【lighttpd - light footprint + httpd = lighttpd 】 lighttpd是一个德国人领导的开源软件,其根本的目的是提供一个专门针对高性能网站,安全、快速、兼容性好并且灵活的web server环境。具有非常低的内存开销,cpu占用率低,效能好,以及丰富的模块等特点。
lighttpd 是众多opensource轻量级的web server中较为优秀的一个。支持fastcgi, cgi, auth, 输出压缩(output compress), url重写, alias等重要功能,而apache之所以流行,很大程度也是因为功能丰富,在lighttpd上很多功能都有相应的实现了,这点对于apache的用户是非常重要的,因为迁移到lighttpd就必须面对这些问题。
实用起来lighttpd确实非常不错,apache主要的问题是密集并发下,不断的fork()和切换,以及较高(相对于lighttpd而言)的内存占用,使系统的资源几尽枯竭。而lighttpd采用了multiplex技术,代码经过优化,体积非常小,资源占用很低,而且反应速度相当快。
利用apache的rewrite技术,将繁重的cgi/fastcgi任务交给lighttpd来完成,充分利用两者的优点,现在那台服务器的负载下降了一个数量级,而且反应速度也提高了一个甚至是2个数量级!
lighttpd 适合静态资源类的服务,比如图片、资源文件、静态html等等的应用,性能应该比较好,同时也适合简单的cgi应用的场合。
【shttpd - simple httpd 】 shttpd是另一个轻量级的web server,具有比thttpd更丰富的功能特性,支持cgi, ssl, cookie, md5认证, 还能嵌入(embedded)到现有的软件里。最有意思的是不需要配置文件!由于shttpd可以嵌入其他软件,因此可以非常容易的开发嵌入式系统的web server,官方网站上称shttpd如果使用uclibc/dielibc(libc的简化子集)则开销将非常非常低。
特点:
* 小巧、快速、不膨胀、无需安装、简单的40kb的exe文件,随意运行
* 支持get, post, head, put, delete 等方法
* 支持cgi, ssl, ssi, md5验证, resumed download, aliases, inetd模式运行
* 标准日志格式
* 非常简单整洁的嵌入式api
* dietlibc friendly. not that friendly to the uclibc (*)
* 容易定制运行在任意平台:windows, qnx, rtems, unix (*bsd, solaris, linux)
由于shttpd可以轻松嵌入其他程序里,因此shttpd是较为理想的web server开发原形,开发人员可以基于shttpd开发出自己的webserver!

各种规模飞行任务的耐辐射性筛查
美国的制裁严重损害了华为今年的业务计划
为什么说,光刻机是整个芯片产业的命门呢?
Dialog针对宽带通信ASIC的ADC
多款锐龙4000系列笔记本上架,性价比相当可观
应用服务器是什么_应用服务器有哪些
2016手机处理器性能排行
浅谈无人机蜂群指挥控制系统
OTDR常见测试曲线知识分析
资讯分享|华为云携手图扑软件共话行业新发展
[组图]音乐机皇诺基亚N91到货京城
PC巨头如何借助VR再度逆袭
三星韩国NAND存储器新厂进度顺利 2017上半年投产
诺基亚2.3正式发布 售价约合人民币850元
起亚KX3纯电动版:紧凑级SUV,最大续航超380公里
2022年Mini LED背光显示器的成本将会低于OLED
AIRLOOK与商汤科技强强联合,打造“实景三维与AI大模型”结合的全新盛宴
投入式液位计的特点有哪些
一文读懂如何为工商业园区配置储能
英特尔收购电动汽车软件公司Silicon Mobility SAS