web服务器、应用服务器以及容器的理解

写在前面:有时候遇到Web服务器&应用服务器、Nginx&Tomcat等名称,会搞不清楚这些到底是什么东西。今天百度一圈,对此有了简单的认知,记录一下。如有错漏之处,也请路过的朋友批评指正。

web服务器

广义的web服务器会被理解为一台与Internet相连,安装了与web应用(网站)配套的软件,搭载了web应用,可以通过浏览器进行访问网站的主机。这里的web服务器应该被理解为一种应用程序,其基于HTTP协议,接收浏览器的请求,并对此作出相应;实现的过程简单理解为:绑定TCP端口,监听客户端请求-->处理客户端请求-->响应客户端请求。web服务器只负责处理HTTP协议,只能发送静态页面的内容,而JSP,ASP,PHP等动态内容需要通过CGI、FastCGI、ISAPI等接口交给其他程序(应用服务器)去处理。web服务器不支持事务处理或数据库连接池,但可以配置各种策略来实现容错性和可扩展性,例如负载平衡、缓冲等。

常用的web服务器有Apache、IIS等。

Apache(Apache HTTP Server)是Apache软件基金会的一个开放源码的web服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。Apache是一个模块化的服务器,源于NCSAhttpd服务器。

IIS(Internet Information Server)是微软公司主推的服务器,是一种Web服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面。

Nginx是来自俄罗斯的一款高性能、轻量级的web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的web服务器中表现较好。Nginx对静态页面的支持相当出色,轻量且免费。Nginx不支持CGI,但是支持更灵活的FastCGI。中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

Lighttpd是一个单线程的针对大量持续连接做出专门优化的Web服务器(适合高流量网站和应用程序)。众多的流行Web站点选择Lighttpd,包括Youtube、SourceForge和维基百科。Lighttpd支持FastCGI、HTTP服务器端压缩、mod-rewrite和其他众多有用的功能。Lighttpd拥有Apache的绝大多数功能,但它仍然保持轻量级(仅1MB),并且可以与Apache使用相同的配置,是最流行的Apache服务器替代者。

应用服务器

应用服务器(也称中间件)提供的是客户端应用程序可以调用的方法,通过很多协议来为应用程序提供商业逻辑。简单的理解就是执行代码生成动态文档。应用服务器一般也支持HTTP协议,因此与web服务器的界限没这么清晰。但是应用服务器的HTTP协议部分仅仅是支持,一般不会做特别优化。

常见的应用服务器有:Tomcat、WebLogic、WebSphere等。

Tomcat是Apache软件基金会的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。由于有Sun的参与,最新的Servlet和JSP规范总是能在Tomcat中得到体现。Tomcat是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。实际上Tomcat是Apache服务器的扩展,但它是独立运行的。

WebLogic是Oracle公司出品的一个应用服务器,是一个基于JAVA(J2EE)架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。

WebSphere是IBM的软件平台,它包含了编写、运行和监视全天候的工业强度的随需应变Web应用程序和跨平台、跨产品解决方案所需要的整个中间件基础设施,如服务器、服务和工具。WebSphere提供了可靠、灵活和健壮的软件。

Apache是web服务器,而Tomcat和IIS因为具有了解释执行服务器端代码的能力,可以称作为轻量级应用服务器或带有服务器功能的Web服务器。 Weblogic、WebSphere因为能提供强大的J2EE功能,是应用服务器。

对于处于中间位置的Tomcat,它可以配合纯Web服务器Apache一起使用,也可以作为应用服务器的辅助与应用服务器一起部署。

容器

容器是中间件的一个组成部分,它实现了对动态语言的解析。比如Tomcat能解析JSP、Servlet是因为其内部有JSP容器和Servlet容器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值