Apache Tomcat的一些分析

  • Apache与Tomcat的联系与区别

    • Apache是普通服务器,本身只支持HTML,即普通网页,不过可以通过插件支持PHP,还可以与Tomcat联通
    • Apache只支持静态网页,而像PHP,CGI,JSP等动态网页就需要Tomcat来处理
    • Tomcat是Apache基金会下属的Jakarta项目开发的一个Servlet容器
      • 按照Sun Microsystems提供的技术规范,实现了对Servlet和JavaServer Page(JSP)的支持
      • 提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台等
      • 而Tomcat本身内含了一个HTTP服务器,可以被视作一个单独的Web服务器
    • 不能将Apache Web服务器和Tomcat混淆
      • Apache Web Server是一个用C语言实现的HTTP web server
      • Apache Tomcat保研一个配置管理工具
      • Apache是web服务器,Tomcat是应用(java)服务器,它只是一个servlet容器,是Apache的扩展
      • Apache和Tomcat都可以作为独立的web服务器来运行,但Apache不能解释java程序
      • 两者都是一种容器,只不过发布的东西不同:Apache是HTML容器,功能像IIS一样
      • Tomcat是jsp/servlet容器,用于发布jsp及java的
    • 比方:Apache是一辆卡车,上面可以装一些HTML等东西,但不能装水,装水必须要有容器,Tomcat就是一个桶(装java这样的水),但是这个桶不一定一定要放在卡车上
    • Apache,nginx,tomcat并称为网页服务三剑客
时间: 2024-10-18 14:04:41

Apache Tomcat的一些分析的相关文章

Apache Tomcat CVE-2017-12615远程代码执行漏洞分析

2017年9月19日, Apache Tomcat官方发布两个严重的安全漏洞, 其中CVE-2017-12615为远程代码执行漏洞,通过put请求向服务器上传恶意jsp文件, 再通过jsp文件在服务器上执行任意代码, 且最新的补丁未完全修复漏洞.中新网安将对该漏洞进行持续关注, 并第一时间为您更新相关漏洞信息. 漏洞编号 CVE-2017-12615 漏洞名称 Apache Tomcat 远程代码执行漏洞 漏洞评级 严重 影响范围 Apache Tomcat 7.0.0 - 7.0.79 漏洞分

[Tomcat源码分析] Eclipse中搭建Apache Tomcat源码调试环境

网上很多文章都推荐使用Ant下载编译,但本地实践中屡屡失败,无法下载. 后来参考 https://blog.csdn.net/xiongyouqiang/article/details/78941077 总算把调试环境搭建完成. 以下文章几乎完全copy上述网址,但稍作延展. 下载源码 官网直接下载源码 http://tomcat.apache.org/download-70.cgi 源码导入到Eclipse中 第1步:Eclipse中新建一个Java Project,例如名称可以是Tomcat

Apache Tomcat样例目录session操纵漏洞

0x00   背景 前段时间扫到的漏洞,研究了下,感觉挺有意思的,发出来和大家分享下,有啥不对的地方还请各位拍砖指正. Apache Tomcat默认安装包含"/examples"目录,里面存着众多的样例,其中session样例(/examples/servlets/servlet/SessionExample)允许用户对session进行操纵.因为session是全局通用的,所以用户可以通过操纵session获取管理员权限. 案例:http://www.wooyun.org/bugs

CVE-2014-0050: Exploit with Boundaries, Loops without Boundaries、Apache Commons FileUpload and Apache Tomcat DoS

catalog 1. Description 2. Analysis 3. POC 4. Solution 1. Description MultipartStream.java in Apache Commons FileUpload before 1.3.1, as used in Apache Tomcat, JBoss Web, and other products, allows remote attackers to cause a denial of service (infini

Tomcat源码分析之—具体启动流程分析

从Tomcat启动调用栈可知,Bootstrap类的main方法为整个Tomcat的入口,在init初始化Bootstrap类的时候为设置Catalina的工作路径也就是Catalina_HOME信息.Catalina.base信息,在initClassLoaders方法中初始化类加载器,然后通过反射初始化org.apache.catalina.startup.Catalina作为catalina守护进程: 一.load Bootstrap中load流程: 反射调用Catalina的load方法

TOMCAT源码分析(启动框架)

建议: 毕竟TOMCAT的框架还是比较复杂的, 单是从文字上理解, 是不那么容易掌握TOMCAT的框架的. 所以得实践.实践.再实践. 建议下载一份TOMCAT的源码, 调试通过, 然后单步跟踪其启动过程. 如果有不明白的地方, 再来查阅本文, 看是否能得到帮助. 我相信这样效果以及学习速度都会好很多! 1. Tomcat的整体框架结构 Tomcat的基本框架, 分为4个层次. Top Level Elements: Server Service Connector HTTP AJP Conta

Tomcat 源码分析(转)

Tomcat源码分析(一)--服务启动 1. Tomcat主要有两个组件,连接器和容器,所谓连接器就是一个http请求过来了,连接器负责接收这个请求,然后转发给容器.容器即servlet容器,容器有很多层,分别是Engine,     Host,Context,Wrapper.最大的容器Engine,代表一个servlet引擎,接下来是Host,代表一个虚拟机,然后是Context,代表一个应用,Wrapper对应一个servlet.从连接器     传过来连接后,容器便会顺序经过上面的容器,最

tomcat源码分析前的准备工作

Tomcat源码学习前的准备工作 注:由于网上的帖子大部分没有配套的图片和错误的分析,所有费了半天劲整理了此篇博客,希望大家少走弯路吧 下面我们就开始我们的Tomcat源码学习之旅. 1. 下载Tomcat6.0的源代码 首先,我们得下载Tomcat6.0的源代码.Tomcat源代码的版本控制工具不是CVS,而是Subversion,如果您的机器上没有安装Subversion,请从http://subversion.tigris.org/servlets/ProjectDocumentList?

Tomcat源码分析——请求原理分析(下)

前言 本文继续讲解TOMCAT的请求原理分析,建议朋友们阅读本文时首先阅读过<TOMCAT源码分析——请求原理分析(上)>和<TOMCAT源码分析——请求原理分析(中)>.在<TOMCAT源码分析——请求原理分析(中)>一文我简单讲到了Pipeline,但并未完全展开,本文将从Pipeline开始讲解请求原理的剩余内容. 管道 在Tomcat中管道Pipeline是一个接口,定义了使得一组阀门Valve按照顺序执行的规范,Pipeline中定义的接口如下: getBas