辨析各类web服务器:Apache/Tomcat/Jboss/Nginx/等,还有Nodejs
先说一下各类服务器能干啥,特点是啥,然后在区分他们的类别。
(1)Apache: Apache是指Apache软件基金会的Apache HTTP Server, 它能够接收http请求,然后返回各类资源,如HTML,PDF,MP4等,但是它的特点是只是接收请求。然后返回资源,至于这个资源是怎么来的,它不管,所以很多时候,大家会说Apache支持静态资源,动态资源需要其他模块来支持,比如使用CGI,比如tomcat。
(2)Nginx功能同Apache,也是HTTP Server, 但是Nginx经过性能优化(使用epoll(Linux2.6内核)和kqueue(FreeBSD)网络I/O模型),可以支持比apache(select模型)高得多的连接数,cpu与内存占用更低,工作中常见的是用于反向代理,负载均衡。
(3)tomcat,最主要的功能是提供Servlet/JSP容器,虽然它也具有http服务器的功能,但是在管理功能和对静态资源的处理速度上不如专门的http服务器,如果性能需求不高的web应用,可以尝试单独使用tomcat,但是对于高性能要求的情况,需要http服务器和Tomcat集成来完成。
(4)Jboss 是运行EJB的J2EE应用服务器,遵循J2EE规范。支持多种集成功能,如数据库连接。JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。
然后再来说它们应该归属的类别:
(1)HTTP Server: 只是处理从接收http请求到返回http响应层面,它关心的是HTTP 协议层面的传输和访问控制, 比如Apache和Nginx,它们的关键字是网络I/O模型。
(2)应用服务器:jboss是一个应用服务器,里面跑的程序,是用满足一定规范的各类组件的组合(如数据库连接),用来处理具体的业务逻辑。
(3)Servlet/JSP容器:tomcat是一个Servlet/JSP的容器,它的目的是生成动态HTML,所以会有Nginx和tomcat的联合使用,HTTP Server接收到请求后,交给tomcat,tomcat动态生成HTML,然后返回给HTTP Server, 最后再把HTML返回给客户端。Servlet/JSP容器也可以认为是应用服务器类别下的一种。
最后,来讨论下nodejs,Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,node下如express的应用库也是HTTP Server的一种,不同的是,nodejs主要提供前端资源的服务,简单的业务逻辑也可以在nodejs下完成,但是复杂的业务需要nodejs server再与应用服务器进行数据交换(如RESTful)来完成。这里面会有大前端,前后端分离之类的说法。
以上内容是在查找的资料后的简单的个人总结,不免有认识错误和不足的地方,在以后认识加深后再回头来修正和补充。
辨析各类web服务器:Apache/Tomcat/Jboss/Nginx/等,还有Nodejs的更多相关文章
- 浅析Apache/Tomcat/JBOSS/Nginx之区别
浅析Apache/Tomcat/JBOSS/Nginx服务器之区别 一.Apache和Tomcat的区别 Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上, ...
- Apache/Tomcat/JBOSS/Nginx区别
先说Apache和Tomcat的区别: Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一. ...
- Apache/Tomcat/JBOSS/Nginx区别(转)
先说Apache和Tomcat的区别: Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一. ...
- 总结:Apache/Tomcat/JBOSS/Jetty/Nginx区别 .
总结:Apache/Tomcat/JBOSS/Nginx区别 .1.Apache是Web服务器,Tomcat是应用(Java)服务器.Tomcat在中小型系统和并发访问用户不是很多的场合下被普遍使用. ...
- 关于Apache/Tomcat/JBOSS/Neginx/lighttpd/Jetty等一些常见服务器的区别比较和理解
先说Apache和Tomcat的区别: Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一. ...
- Web服务器☞Apache VS Nginx
Web服务器☞Apache VS Nginx LZ最近公司有一个项目在Web服务器选型上,在Apache和Nginx之间引起了一些讨论.这两者目前都是业内优秀的web服务器,都实现了HTTP1.1协议 ...
- web服务器与tomcat
web服务器与tomcat 服务器分类: 硬件服务器和软件服务器 web服务器: 提供资源供别人访问 web: 网页的意思,资源. web资源分类: 动态的web资源:内容有可能发生改变的 静态的we ...
- WEB服务器,TOMCAT和servlet之间的关系
WEB服务器,TOMCAT和servlet之间的关系 什么是WEB服务器Web服务器是指能够为发出请求的浏览器提供文档的程序.服务器是 一种被动程序,只有浏览器发出请求的时候才会响应.应用层使用 的是 ...
- nginx高性能WEB服务器系列之九--nginx运维故障日常解决方案
nginx系列友情链接:nginx高性能WEB服务器系列之一简介及安装https://www.cnblogs.com/maxtgood/p/9597596.htmlnginx高性能WEB服务器系列之二 ...
随机推荐
- django error: DisallowedHost: Invalid HTTP_HOST header: ''. You may need to add u'' to ALLOWED_HOST
测试环境: [root@nanx-lli ~]# lsb_release -aLSB Version: :core-4.1-amd64:core-4.1-noarchDistributor ID: C ...
- Parcelable序列化对象
一.序列化的目的 永久性保存对象,保存对象的字节序列到本地文件中: 通过序列化对象在网络中传递对象: 通过序列化在进程间传递对象; 在Intent中进行传递复杂自定义类对象时,需要实现Parcelab ...
- C语言函数的变参实用与分析
实现变参传递的关键是: 传入参数在内存中是连续分布的. #define va_list void* #define va_arg(arg, type) *(type*)arg; arg = (char ...
- zoj 2006 Glass Beads
Glass Beadshttp://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1006 Time Limit: 2 Seconds ...
- hdu4085 Peach Blossom Spring
Peach Blossom Spring http://acm.hdu.edu.cn/showproblem.php?pid=4085 Time Limit: 10000/5000 MS (Java/ ...
- sqlserver 个人整理
1.创建临时表(临时表的生命周期是当前回话中) //创建临时表是使用#+表名 //判断临时表是否存在 if object_id('tempdb..#ttt1') is not null Begin d ...
- MQTT协议-MQTT协议简介及协议原理
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建 ...
- 函数式编程--响应式编程 ---android应用例子
RxJava implements this operator as create. It is good practice to check the observer’s isUnsubscribe ...
- 【POJ】2892 Tunnel Warfare
[算法]平衡树(treap) [题解]treap知识见数据结构 在POJ把语言从G++换成C++就过了……??? #include<cstdio> #include<algorith ...
- UIAlertView---iOS-Apple苹果官方文档翻译
本系列所有开发文档翻译链接地址:iOS7开发-Apple苹果iPhone开发Xcode官方文档翻译PDF下载地址 UIAlertView //转载请注明出处--本文永久链接:http://ww ...