java基础知识----应用程序容器与服务器的区别与联系
2017-12-26 10:35
232 查看
本篇是对网上的一些资料自己整理做的总结
1. 应用程序
应用程式是电脑软体的主要分类之一,是指为针对使用者的某种应用目的所撰写的软体2 .容器
部署运行应用程序的环境,是应用程序用于平台之间管理组件的生命周期,分派请求,提供上下文数据的接口技术规范 | 概念 | |
Servlet容器 | Servlet技术规范(属于javaEE技术规范) | 实现了servlet技术规范的可运行部署servlet程序的部署环境,主要任务是管理servlet的生命周期 |
Java WEB容器 | javaEE web应用技术规范(servlet、jsp、java webSocket) | 实现的javaEE web技术规范的部署环境(完整的javaEE容器包括servlet容器) |
Java EE容器 | JavaEE技术规范(servlet,javaEE web、EJB) | 实现的javaEE技术规范的部署环境(完整的javaEE容器包括javaWeb容器(servlet容器)、EJB容器) |
Web容器 | J2EE规范中的WEB APPLICATION 标准 | 满足一定条件的web服务器就是web容器,给处于其中的应用程序组件(JSP,SERVLET)提供一个环境,JSP容器和SERVLET容器 |
EJB容器 | J2EE规范的EJB | 供给运行在其中的组件EJB各种管理功能 |
常见的Web容器:tomcat、 jboss 、resin、 weblogic、 websphere、 glassfish、jetty
注:现阶段jsp容器、serlvet容器、web容器基本是是同义的
3. 服务器
| 概念 | 功能 |
服务器 | 服务器是提供某些服务的设备 | 承担服务并且保障服务 |
应用服务器 | 运行应用程序,提供应用程序所实现服务的设备 | 应用服务器通过各种协议把应用程序业务逻辑曝露给客户端的程序 |
WEB服务器 | WEB服务器是提供网上信息浏览等WEB服务的设备(WEB服务应用程序) | 向浏览器等WEB客户端提供文档浏览、数据文件下载等WEB服务它只需支持HTTP协议、TML文档格式及URL。向浏览器提供服务的程序 |
WEB应用服务器 | 它是带应用服务器的Web服务器 | 接收HTTP请求后,既能返回页面等静态内容,又能处理业务逻辑返回数据 |
Java EE服务器 | Java EE服务器是实现Java EE技术规范,并提供标准Java EE服务的应用程序服务器(应用服务器) | 允许向客户端提供应用数据 |
常见的web服务器:
大型:Microsoft IIS、IBM WebSphere、BEA WebLogic、Apache、Tomcat
小型:nginx、 micro_httpd、mini_httpd、thttpd、 lighttpd、Shttpd
常见WEB应用服务器: Tomcat、Jetty、WebLogic、Websphere、JBoss
注:可以用web服务器来构建WEB应用服务器,发起动态请求,就通过CGI、ISAPI、特殊管道等协议接口调用后面的应用服务器来协同处理请求。
附录常见web服务器归集
| 概念 | 特点 |
Tomcat | Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和JavaServer Page(JSP)的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。由于Tomcat本身也内含了一个HTTP服务器,它也可以被视作一个单独的Web服务器 | 开源、性能稳定、免费对静态文件、高并发的处理比较弱 |
IBM WebSphere | 是由IBM遵照开放标准,例如Java EE、XML及Web Services,开发并发行的一种应用服务器。与其兼容的Web服务器包括Apache HTTP Server、Netscape Enterprise Server、微软Internet Information Services(IIS)以及IBM HTTP Server。 | 能够创建、部署、管理、扩展出强大、可移植、与众不同的电子商务应用,据IBM官方网站介绍,有10 000多个企业正在使用IBM WebSphere,相对于其他流行的Web服务器而言,应用的数量很少 |
Oracle WebLogic | WebLogic是美商Oracle的主要产品之一,系购并得来。是商业市场上主要的Java(J2EE)应用服务器软件(application server)之一,是世界上第一个成功商业化的J2EE应用服务器 | 基于标准的web应用服务器,为企业构建自己的应用提供了坚实的基础。各种应用开发、部署所有关键性的任务,无论是集成各种系统和数据库,还是提交服务、跨 Internet 协作,起始点都是 BEA WebLogic Server |
Apache | 源于NCSAhttpd服务器,市场占有率最高 | 开源、跨平台、可移植、简单、速度快、性能稳定、可做代理服务器以进程为基础比线程消耗更多系统开支,不太适合多处理器环境 |
Microsoft IIS | IIS是允许在公共Intranet或Internet上发布信息的Web服务器。它是目前最流行的Web服务器产品,很多著名的网站都是建立在IIS平台上的。IIS提供了一个图形界面的管理工具,称为Internet服务管理器,可用于监视配置和控制Internet服务。IIS只能运行在Microsoft Windows平台、LinuxNnix平台上,因此须要购买商业的Windows Server操作系统 | IIS是一种Web服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,它使得在网络(包括互联网和局域网)上发布信息成了一件很容易的事。它提供ISAPI ( Intranet Server API)作为扩展Web服务器功能的编程接口;同时,它还提供一个Internet数据库连接器,可以实现对数据库的查询和更新。 |
Niginx | Nginx(发音同engine x)是一个 Web服务器,也可以用作反向代理,负载平衡器和 HTTP缓存。该软件由 Igor Sysoev 创建,并于2004年首次公开发布。同名公司成立于2011年,以提供支持。Nginx是一款免费的开源软件,根据类BSD许可证的条款发布。大部分 Web服务器通常使用 NGINX 作为负载均衡器 | 可作为软件负载均衡器。模块化事件驱动架构可以在高负载下提供更可预测的性能。相较于Apache、lighttpd具有占有内存少,稳定性高等优势。充分使用异步逻辑从而削减了上下文调度开销,并发服务能力更强。整体采用模块化设计,有丰富的模块库和第三方模块库,配置灵活。在官方测试的结果中,能够支持五万个平行连接,而在实际的运作中,可以支持二万至四万个平行链接。 |
Lighttpd | lighttpd(发音为lighty)是一套开放源代码的网页服务器,以BSD许可证发布。相较于其他的网页服务器,lighttpd仅需少量的内存及CPU资源即可达到同样的性能。 | 其根本的目的是提供一个专门针对高性能网站,安全、快速、兼容性好并且灵活的网页服务器环境。具有非常低的内存开销、CPU占用率低、性能好以及丰富的模块等特点。Lighttpd是众多开源轻量级的网页服务器中较为优秀的一个。支持FastCGI、CGI、Auth、输出压缩(output compress)、URL重写、别名等重要功能 |
http://blog.csdn.net/tjiyu/article/details/53148174 https://www.cnblogs.com/wangxb/p/4532140.html
相关文章推荐
- Java基础知识强化98:Apache和Tomcat服务器的联系与区别
- Java基础知识学习总结(四)---Hashtable和HashMap的区别与联系分析
- Java基础知识——SDK、JDK、JRE、JVM、JDT、CDT等之间的区别与联系
- Java基础知识――SDK、JDK、JRE、JVM、JDT、CDT等之间的区别与联系
- Java基础知识强化之多线程笔记07:同步、异步、阻塞式、非阻塞式 的联系与区别
- JAVA序列化基础知识Serializable与Externalizable的区别
- Java基础知识整理(三)- equals和==的区别
- java容器之HashTable和HashMap之间的区别和联系
- 《Spring 3.x 企业应用开发实战》学习笔记 第三章 IoC容器概述 3.2 相关Java基础知识 类装载器 反射机制
- JAVA序列化基础知识Serializable与Externalizable的区别(改变默认的序列化/反序列化行为)
- 黑马程序员---------java 基础知识复习(foreach、Arrays、String、StringBuffer、容器类)
- java基础知识回顾之---java StringBuffer,Stringbuilder与String的区别
- web服务器,web容器,servlet容器的区别和联系
- JAVA序列化基础知识Serializable与Externalizable的区别
- 黑马程序员—2—Java基础:循环体的区别于联系和学习心得体会
- web 服务器和应用程序服务器的区别和联系
- 《Spring 3.x 企业应用开发实战》学习笔记 第三章 IoC容器概述 3.2 相关Java基础知识 类装载器 反射机制
- java 基础知识1-和c++的一些区别
- 实训 Java基础知识---容器
- Java服务器开发基础知识select、poll、epoll iocp, kqueue