常见Web Server辨析

辨析常见服务器如apache 、tomcat、jetty、jboss、netty等

Apache 和Tomcat

相同:都是HTTP服务器
不同:apache本身只有http服务器功能,只能处理静态请求,如果要处理动态请求
需要配置好脚本程序或应用程序处理,比如php或servlet容器(tomcat)
tomcat两种请求都可以处理,但是静态请求处理慢,一般处理jsp请求
1.独立servlet模式、默认模式,静态请求也有tomcat完成
2.进程内servlet,用web插件在web服务器内部开一个jvm运行servlet容器
3.进程外servlet,用web插件与web服务器通信,速度比2慢,扩展性好

Apache和Nginx

都是HTTP服务器,不同在于nginx资源占用极低、稳定性高,十分适合处理静态请求
所以一般会用Nginx作前端服务器,处理高并发的静态请求
Apache负责后台,转发php、cgi、perl等动态解析

Tomcat和jetty

相同:都是servlet容器和http服务器,内核都一样
不同:jetty更加轻量,而且支持jsp、.net和php全系列

jboss、tomcat、jetty

jboss是一个EJB容器,通常集成了tomcat或jetty负责servlet请求

总结

一般Web请求用apache、nginx或lighttpd中的一种
servlet容器用tomcat或jetty
Ejb容器用jboss

代理

正向代理和反向代理

正向代理即客户端不直接访问源服务器时,通过一个中间服务器中转请求和响应
反向代理是服务器在源服务器上搜寻本机不存在的资源返回客户端,对用户透明

场景

正向代理用在墙内用户访问墙外,用户设置,需要对访问安全进行授权
反向代理用在墙内服务器向墙外提供服务,而对用户透明,代理服务器设置

协议

HTTP 超文本传输协议

应用最广泛的应用层协议,常用于C/S或B/S架构中用来进行信息交互

SOAP 简单对象访问协议

是W3C组织的一个轻量级web service通信协议
以前调用远程主机的服务需要RPC协议,无法穿透防火墙
基于HTTP协议的SOAP协议能穿透80端口,很好地解决了异构网络的RPC
实际就是用XML编写SOAP消息头和消息体,然后放入HTTP消息体进行传送

关联:Apache Axis2

SOAP引擎,负责XML解析、Web服务寻址和处理SOAP请求响应

posted @ 2017-02-12 10:56  chrishxl  阅读(669)  评论(0编辑  收藏  举报