- 服务器原理
0.通过main()方法启动一个线程
1.对特定端口的服务器套接字进行侦听,并接受其连接:
Socket socket = new ServerSocket(post).accept();
2.tomcat抓取该端口来自客户端的连接,并获取对应的请求和方法
3.tomcat动态的加载对应的类,并按照请求传入执行方法
4.tomcat渲染并返回对应的执行结果
5.关闭对应的Socket连接;并继续侦听该端口
- Apache
Apache是一个web服务器
相对于Tomcat而言,Apache是静态解析,适合静态HTML、图片等
- Nginx
A:Nginx是一个轻量级的web服务器,处理静态页面性能高于Apache
A:Nginx的并发性能比Apache好,相对于同步的apache而言,nginx处理请求是异步的
T:Nginx有动态分离机制,即静态请求直接就可以通过Nginx处理,动态请求才转发请求到后台交由Tomcat进行处理
Nginx本身是一个反向代理服务器 ,且支持负载均衡
- JBOSS
1.基于Tomcat的应用服务器,以Tomcat作为内核并进行优化
2.不但是Servlet容器,而且是EJB容器;弥补了Tomcat只是一个Servlet容器的缺憾
3.提高了tomcat对于静态内容以及大文件的处理速度,和HTTPS等性能,最大访问量等
4.提高了系统的可伸缩性
- Tomcat
- 特点
1.侧重于JSP的应用服务器,加载jsp等动态页面效果较好
2.Apache旗下的基于java语言
-
- 缺点
1.对于静态页面的处理效率低下
2.不支持session复制
3.缺少多个实例协同工作的设置,对于集群