关于Apache和Tomcat(基础篇)
首先
这是为不到一年经验的人员准备的培训材料,
在构建Java网络应用程序时,以下两个工具是必不可少的:
Apache和Tomcat。我将深入介绍它们的相关知识。
目标
・不足一年的Java经验
Apache是什么
使用于Web服务器的软件。
正式名称为Apache HTTP Server。
是全球使用最广泛的Web服务器软件。
网络服务器是什么
・当浏览器发送HTTP请求时,服务器会返回HTML文件等作为响应。
Tomcat 是什么?
・指的是应用服务器。
・用于运行Java Servlet的软件,也称为Web容器(也称之为Servlet容器)。
・还具有作为简易Web服务器的功能。
・正式名称是Apache Tomcat。
应用服务器是什么?
网站系统中负责运行应用程序的服务器。
※网站系统包含三层结构,即“网页服务器”,“应用服务器”和“数据库服务器”。应用服务器根据接收到的网页服务器请求,执行Java、PHP、Ruby等程序,并将处理结果返回给网页服务器。
Apache和Tomcat有什么不同?
・Apache是一个Web服务器,而Tomcat也具备作为简单Web服务器的功能。
你觉得Apache是不是不必要的?
一般的的Web系统可用图表表示
从上述图表中可以得出的结论
・为了向Web服务器发送请求,客户端首先会接收到Apache(如果存在Apache和Tomcat)。
・客户端将请求发送给Apache,要求其向应用服务器Tomcat发送必要的处理指令,以使Web应用程序在Tomcat上运行。
・Java位于数据库和Tomcat之间,Java会访问数据库(Tomcat并不直接访问数据库)。
如果用餐厅来打比方的话。。。
・Apache:担任宴会厅的兼职员工。
・Tomcat:既能管理厨房又能照顾宴会厅的店长。
・客户:顾客
如果没有Apache
Tomcat 将承担接待客人和接收订单(客户请求)以及进行烹饪(向客户发送响应)的任务。能够处理客户较少的订单。
如果收到许多请求的情况下
当然,如果Tomcat受到负载,响应会变慢,甚至最糟糕的情况下可能会崩溃。
在这种情况下,通过安装Apache可以分担服务器的负载,使Tomcat可以专心处理任务。
通过减轻服务器负载,可以加快处理包括js、HTML、CSS在内的静态内容的速度。
Apache和Tomcat之间的区别是什么?
★Apache
角色:解析请求
– 对于特定IP地址的情况,过滤(允许/拒绝)请求
– 对于特定URL的情况,进行重定向
– 对于特定URL的拒绝
– 通过SSL加密来加密通信
– 根据请求将处理分配给特定的服务器
– 等等
★Tomcat
角色:根据请求进行动态处理
• 根据请求信息进行数据登记
• 根据请求信息创建动态页面并生成响应
• 根据请求信息判断用户,并为每个用户创建不同的响应
等等
总结
・Apache和Tomcat各自扮演不同的角色。
・在開發不需要處理大量請求的系統或工具時,僅使用Tomcat即可。
・當系統變得龐大時,建議也使用Apache。