web服务器类型介绍?
web应用的运营都是基于web服务器的存在才能实现的。今天我们就一起来了解一下,目前比较常见的一些web服务器都有哪些类型。
1、Tomcat服务器
目前非常流行的Tomcat服务器是Apache-Jarkarta开源项目中的一个子项目,是一个小型、轻量级的支持JSP和Servlet技术的Web服务器,也是初学者学习开发JSP应用的选。
2、Resin服务器
Resin是Caucho公司的产品,是一个非常流行的支持Servlet和JSP的服务器,速度非常快。Resin本身包含了一个支持HTML的Web服务器,这使它不仅可以显示动态内容,而且显示静态内容的能力也毫不逊色,因此许多网站都是使用Resin服务器构建
3、JBoss服务器
JBoss是一个种遵从JavaEE规范的、开放源代码的、纯Java的EJB服务器,对于J2EE有很好的支持。JBoss采用JMLAPI实现软件模块的集成与管理,其核心服务又是提供EJB服务器,不包含Servlet和JSP的Web容器,不过它可以和Tomcat完美结合
4、WebSphere服务器
WebSphere是IBM公司的产品,可进一步细分为WebSpherePerformancePack、CacheManager和WebSphereApplicationServer等系列,其中WebSphereApplicationServer是基于Java的应用环境,可以运行于SunSolaris、WindowsNT等多种操作系统平台,用于建立、部署和管理Internet和IntranetWeb应用程序。
5、WebLogic服务器
WebLogic是BEA公司的产品(现在已经被Oracle收购),可进一步细分为WebLogicServer、WebLogicEnterprise和WebLogicPortal等系列,其中WebLogicServer的功能特别强大。WebLogic支持企业级的、多层次的和完全分布式的Web应用,并且服务器的配置简单、界面友好。IT培训http://wwwkmbdqncn/认为对于那些正在寻求能够提供Java平台所拥有的一切应用服务器的用户来说,WebLogic是一个十分理想的选择。
1 硬件服务器
硬件服务器是一种专门用来存储数据和资源的机器,其主要功能是运行操作系统和管理硬件资源。硬件服务器是一种结构完整的计算机系统,包括主板、CPU、内存、存储设备、网络设备等配件,通常用于存储大量数据和处理大量并发请求。
2 应用服务器
应用服务器是一种软件系统,用于处理和管理应用程序的请求和响应。它运行在硬件服务器上,为应用程序提供必要的服务和支持,包括事务处理、数据持久化、安全性、负载均衡等功能。应用服务器通常使用Java、Net等开发平台,支持多种Web协议和网络通信方式。
3 Web服务器
Web服务器是一种软件系统,用于提供Web服务和处理HTTP请求和响应。它运行在硬件服务器上,为Web应用程序提供必要的服务和支持,包括HTTP协议处理、静态资源管理、动态脚本处理、缓存管理、负载均衡等功能。Web服务器通常使用Apache、IIS等软件实现,支持多种Web协议和网络通信方式。
综上所述,硬件服务器、应用服务器、Web服务器都是重要的服务器类型,它们各自有不同的功能和特点。硬件服务器主要提供硬件资源管理和存储服务,应用服务器提供应用程序支持和管理服务,Web服务器则主要负责Web服务和HTTP通信。在实际应用中,这些服务器通常需要相互协作,组成一个完整的服务器系统,为客户端提供高效、稳定的服务。
在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数据库连接器,可以实现对数据库的查询和更新。
官方网站:http://wwwmicrosoftcom
下载地址:http://wwweryincom/Server/Soft/200808/02257html
IBM WebSphere
WebSphere Application Server 是 一 种功能完善、开放的Web应用程序服务器,是IBM电子商务计划的核心部分,它是基于 Java 的应用环境,用于建立、部署和管理 Internet 和 Intranet Web 应用程序。 这一整套产品进行了扩展,以适应 Web 应用程序服务器的需要,范围从简单到高级直到企业级。
WebSphere 针对以 Web 为中心的开发人员,他们都是在基本 HTTP服务器和 CGI 编程技术上成长起来的。IBM 将提供 WebSphere 产品系列,通过提供综合资源、可重复使用的组件、功能强大并易于使用的工具、以及支持 HTTP 和 IIOP 通信的可伸缩运行时环境,来帮助这些用户从简单的 Web 应用程序转移到电子商务世界。
官方网站:http://wwwibmcom
下载地址:http://wwwibmcom/developerworks/cn/downloads/ws/wasce/
BEA WebLogic
BEA WebLogic Server 是一种多功能、基于标准的web应用服务器,为企业构建自己的应用提供了坚实的基础。各种应用开发、部署所有关键性的任务,无论是集成各种系统和数据库,还是提交服务、跨 Internet 协作,起始点都是 BEA WebLogic Server。由于 它具有全面的功能、对开放标准的遵从性、多层架构、支持基于组件的开发,基于 Internet 的企业都选择它来开发、部署最佳的应用。
BEA WebLogic Server 在使应用服务器成为企业应用架构的基础方面继续处于领先地位。BEA WebLogic Server 为构建集成化的企业级应用提供了稳固的基础,它们以 Internet 的容量和速度,在连网的企业之间共享信息、提交服务,实现协作自动化。
官方网站:http://wwwbeacom
下载地址:http://wwworaclecom/bea/indexhtml
Apache
Apache仍然是世界上用的最多的Web服务器,市场占有率达60%左右。它源于NCSAhttpd服务器,当NCSA WWW服务器项目停止后,那些使用NCSA WWW服务器的人们开始交换用于此服务器的补丁,这也是apache名称的由来(pache 补丁)。世界上很多著名的网站都是Apache的产物,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、Windows、Linux系统平台上)以及它的可移植性等方面。
官方网站:http://wwwapacheorg
下载地址:http://wwweryincom/Server/Soft/200808/01245html
Tomcat
Tomcat是一个开放源代码、运行servlet和JSP Web应用软件的基于Java的Web应用软件容器。Tomcat Server是根据servlet和JSP规范进行执行的,因此我们就可以说Tomcat Server也实行了Apache-Jakarta规范且比绝大多数商业应用软件服务器要好。
Tomcat是Java Servlet 22和JavaServer Pages 11技术的标准实现,是基于Apache许可证下开发的自由软件。Tomcat是完全重写的Servlet API 22和JSP 11兼容的Servlet/JSP容器。Tomcat使用了JServ的一些代码,特别是Apache服务适配器。随着Catalina Servlet引擎的出现,Tomcat第四版号的性能得到提升,使得它成为一个值得考虑的Servlet/JSP容器,因此目前许多WEB服务器都是采用Tomcat。
官方网站:http://tomcatapacheorg
下载地址:http://wwweryincom/Server/Soft/200808/02250html
就是B/W/C/D/C结构
B: Browser; W: Web Server; C: CRUBA Server; D: Database; C: Client
传统的Web数据库B/W/D结构也逐渐暴露出了许多不足:
(1)由于浏览器只是为了进行Web浏览而设计的,当其应用于Web应用系统时,许多功能不能实现或实现起来比较困难。比如:通过浏览器进行大量的数据的录入,或进行报表答应都是非常困难和不便的。
(2)复杂应用构造困难。虽然可以用ActiveX,Java等技术开发较为复杂的应用,但是相对于发展已经非常成熟C/S的一系列应用工具来说,这些技术的开发复杂,并没有完全成熟的技术供使用。
(3)Web Server成为Database的唯一的客户端,所有对数据库的连接都通过该服务器实现,Web服务器同时要处理与客户请求及数据库服务器的连接,当访问量大时,Server负载过重。
21 Web数据库的五层体系结构
正是由于B/W/D结构自身具有的这些弱点,为了改善其不足,在其基础上,提出了一新的结构体系—— B/W/C/D/C结构
五层体系结构有如下优点:
(1)充分发挥了B/S结构与C/S结构系统的优势,扬长避短。充分考虑用户利益,保证浏览查询者操作方便的同时也使得系统的更新简单,维护简单灵活,易于操作。
(2)信息发布端采用B/S结构,保持了瘦客户端的优点。装入客户机的软件可以采用统一的WWW浏览器。而且由于WWW浏览器和网络综合服务器都基于工业标准,可以在所有平台上工作。客户机或服务器的操作系统也可以完全统一,客户端存在的各种问题迎刃而解。
(3)数据库端采用C/S结构,通过ODBC/JDBC进行连接。这一部分的功能只涉及到系统维护,数据更新等,客户端很少,不存在完全采用C/S结构带来的客户端维护工作量大等缺点。并且,在客户端上可以构造非常复杂的应用,界面友好灵活,易于操作,能解决许多B/S存在的固有的缺点。
(4)许多原有的基于C/S结构的系统可以非常容易地升级到五层体系结构,只需要开发用于发布的WWW界面,可以保留原有的C/S结构的某些子系统,充分地利用现有资源。使得现有系统或资源无需进行大的改造即可以连接使用,保护了用户以往的投资。
(5)由于应用了CORBA服务器,对数据库的访问提供了一个统一的接口,使CORBA服务器具有共享性,形成了模块性更强的结构,更易扩充,升级。
逻辑上实现了http协议、管理web资源、负责提供web服务器的管理功能。
Web服务器逻辑和操作系统共同管理TCP连接。
Apache 就是 开源的 软件web 服务器的一种。
一旦连接建立起来并被接受,服务器会将新连接添加到其现存的web服务器连接列表中,做好监视连接上数据传输的设备。
可以用反向DNS对大部分web服务器进行配置,以便将客户端IP地址转换成 客户端 主机名。
好处: web服务器可以将客户端主机名用于详细的访问控制和日志记录。
坏处:主机名查找可能会花费很长时间,要么只允许特定内容进行解析。
有些web服务器还支持ident 协议。服务器可以通过ident协议找到发起http连接的 用户名 。对记录日志非常有用。
类似这种。
如果客户端支持ident协议,就在tcp端口113上监听 ident请求。
但ident在公共因特网上不能很好的使用
解析请求报文时,web服务器会不定期从网络上接受输入数据。网络连接可能随时都会出现延迟。web服务器从网络中读取数据,将部分报文数据临时存储在内存中,直到收到足以进行解析的数据并理解其意义为止。
web服务器对报文解析后,并用自己内部的数据结构来存储请求报文。
请求可能会在任意时刻到达,所以web服务器不停观察有无新的web请求。不同的web服务器会以不同的方式为请求服务。
单线程的服务器一次只处理一个请求。一个事务处理结束后,才会去处理下一条连接。
结构容易实现,单性能很差。
多进程和多线程服务器用多个进程或更高效的现成同时对请求进行处理。
可以根据需要创建,或者预先创建一些线程/进程。有些服务器会为每条连接分配一个线程/进程,但当服务器同时要处理成百上千甚至上万的连接时,需要的继承或者线程数量可能会消耗太多内存或系统资源。(预先分配 线程池,进程池,内存池等手段)
因此这类服务器会对线程/进程的最大数量进行限制
线程与复用功能结合,利用计算机平台上多个CPU。多个线程中的每一个都在观察打开的连接。并对每条连接执行少量任务。
收到并解析请求后,可以根据方法、资源、首部和可选的主体部分对请求进行业务处理。
在web服务器将内容传送给客户端之前,要将请求 报文中的URI映射为web服务器上适当的内容或内容生成器,以识别出内容的源头。
请求URI 作为名字 来 访问 Web 服务器文件系统中的文件。通常web 服务器的文件系统中会有一个特殊的文件夹专门用于存放web内容。
即文档的 根目录 。
同时服务器也需要注意,不能让URL退到docroot之外,将文件系统的其余部分暴露出来。不允许这样的uri出现:
web服务器可以接受收对目录url的请求,其路径可以解析为一个目录。而不是文件。我们可以对大多数web服务器进行配置。使其在客户端请求目录url时 采取不同的动作。
大多数web服务器都会去查找目录中的一个名为indexhtml 的文件来替代此目录。
如果用户请求的时一个目录的url,并且这个目录中有一个名为indexhtml 的文件。服务器就会返回这个文件。
Web 服务器还可以将URI映射为动态资源,也就是说,映射到按需动态生成内容的程序上去。
实际上,有一大类名为应用程序服务器的Web 服务器会将Web服务器连接到复杂的后端应用上去。
Web 服务器主要做的事:
也就是说 web服务器会将URI路径名 映射为 可执行文件目录 。
服务器端包含项(SSI),如果某个资源被表示为存在服务器端包含想,服务器会在将其发送给客户端之前对资源内容进行处理。
web 服务器还可以为特定资源进行访问控制,有请求到达,要访问受控制资源时,服务器可以根据客户的ip地址进行访问控制,比如输入密码才能访问。
如果事务处理产生了响应 主体,就将内容放在响应报文中发回去。实体包括:
服务器要负责确定响应主体的MIME类型。有很多配置服务器的方法可以将MIME类型与资源关联起来。
Web 服务器有时会返回重定向响应而不是成功的报文。Web服务器可以将浏览器重定向到其他地方执行请求。
重定向返回码 3XX。Location响应首部包含了内容的新地址。
对于非持久连接而言,服务器应该发送了整条报文后,关闭自己一端。
对于持久而言,连接仍然可以保持打开状态。这种情况下服务器端要正确的计算content length,不然客户端无法知道响应何时结束。
当事务结束时,web服务器会在日志文件中添加一跳目录,来描述已执行的事务。
常见的WEB服务器有:
1、ApacheApache是世界使用排名第一的Web服务器软件。
它可以运行在几乎所有广泛使用的计算机平台上。Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。
2、IIS是英文Internet Information Server的缩写,译成中文就是"Internet信息服务"的意思。
它是微软公司主推的服务器,最新的版本是Windows2008里面包含的IIS 7,IIS与Window Server完全集成在一起,因而用户能够利用Windows Server和NTFS(NT File System,NT的文件系统)内置的安全特性,建立强大,灵活而安全的Internet和Intranet站点。
3、GFEGoogle的web服务器,用户数量激增。目前紧逼iis。
4、Nginx不仅是一个小巧且高效的HTTP服务器,也可以做一个高效的负载均衡反向代理,通过它接受用户的请求并分发到多个Mongrel进程可以极大提高Rails应用的并发能力。
5、Lighttpd
是由德国人 Jan Kneschke 领导开发的,基于BSD许可的开源WEB服务器软件,其根本的目的是提供一个专门针对高性能网站,安全、快速、兼容性好并且灵活的web server环境。具有非常低的内存开销,CPU占用率低,效能好,以及丰富的模块等特点。
Lighttpd 是众多OpenSource轻量级的web server中较为优秀的一个。支持FastCGI, CGI, Auth, 输出压缩(output compress), URL重写, Alias等重要功能。
6、Zeus是一个运行于Unix下的非常优秀的Web Server,据说性能超过Apache,是效率最高的Web Server之一。
7、Sun的Java系统Web服务器也就是以前的Sun ONE Web Server。主要出现在那些运行Sun的Solaris操作系统的关键任务级Web服务器上。
它最新的版本号是61,可以支持x86版本Solaris,Red Hat Linux,HP-UX 11i, IBM AIX,甚至可以支持Windows,但它的大多数用户都选择了SPARC版本的Solaris操作系统。
8、Resin提供了最快的jsp/servlets运行平台。在java和javascript的支持下,Resin可以为任务灵活选用合适的开发语言。Resin的一种先进的语言XSL(XML stylesheet language)可以使得形式和内容相分离。
扩展资料:
1、Apache服务器优缺点:
优点:小巧,灵活,可扩展,稳定;
缺点:软件开源,所以很多的漏洞可能很容易被人查找到。
2、Nginx服务器优缺点:
优点:压缩率高,支持负载均衡,速度快;
缺点:需要掌握熟练的Linux命令才能应用;
3、IIS服务器优缺点:
优点:安装配置简单,学习起来容易;
缺点:平台适用性单一,安全性有待提高。
4、WebLogic服务器优缺点:
优点:安全性高,专业性强,耦合度低;
缺点:不容易掌握,需要有一定的专业积累才能熟练应用。
0条评论