tomcat服务体系结构理解
tomcat体系结构对应的在server.xml文件中体现。。
最外层就是server ,其次是service 。server就是指这个tomcat服务器,service指服务,
一个server可以有多个service。
一个service里有连接器Connector,支持http https AIP协议等,还有引擎Engine,主机,还有主机里的项目。
tomcat标签Context的使用
1.Context可以部署web项目,配置项目的浏览路径等。
一个Context就是一个应用。
2.属性path 表示配置项目的浏览路径,也是虚拟tomcat项目路径。
<Context path=“test” docBase=“F://all datas//mywebproject1”/> </Context>
url: http://127.0.0.1:8080/test
path值是"/test", “test”,"/test/"效果都是一样的
3.属性docBase表示项目存在的绝对路径。当docBase的路径没有盘符的时候,会到tomcat部署地址webapps中找该项目。
4.reloadable 是否重新加载tomcat服务器。
我们开发的一个web项目需要用到服务器来运作,tomcat就是这样一个基于http协议的服务器,使得我们的web项目可以被其他电脑锁访问。
一个web项目通过tomcat服务器处理的过程:
首先是进入这个server,有对应的service服务,这个服务里面可以通过Connnector连接器指定协议,以及监听端口,别人通过你指定的协议,以及监听的端口,发送请求来访问服务器,之后通过引擎Engine来处理。引擎里面又可以设置不同的虚拟主机,主机里面又可以放置一些不同的项目Context 。
实际举例:
前置知识:
我们平时上网是通过域名 比如 www.baidu.com,而实际一个资源是通过一个ip来访问的。
一个ip可以有多个域名映射,而一个ip只能指向一个主机。
ip和域名之间有一个映射关系,通过访问域名,就相当于访问映射的IP。
我们的电脑本机是有一个ip/域名映射表 的一个文件。在C:/Windows/System32/drivers/etc
中的hosts文件。
127.0.0.1指地就是我们本机ip地址,对应域名为localhost。
我们可以通过修改localhost为www.baid.com 那么我们访问www.baidu.com 就会访问到本机。
过程:
我给我的web项目myweb1和myweb2配置tomcat服务器。
我到Engine中的<Host>标签里找到name属性,这里是配置主机,这里的主机为 虚拟主机,比如我们设置name=“www.baidu.com”,我们在里面存放了项目 myweb1 我又设置了一个主机为
www.taobao.com 里面存放了一个项目为myweb2.
那么我们用这个www.baidu.com访问资源就会访问到myweb1 使用www.baicu.com访问的就是myweb2
资源访问的两大步骤
1.域名解析。
先从浏览器缓存中查找有没有这个域名对应的ip,之后就会从本机中的hosts文件中查找有没有该域名对应的ip。之前我们修改了本机hosts文件里的域名为www.baidu.com 那么我们访问www.baidu.com 就是我们自己的项目myweb1
2.通过CDN架构处理返回资源。
说明:
虚拟主机:因为一个主机只能由一个ip,我们通过虚拟主机,不同的域名可以解析到同一个ip,但访问的资源就会不一样。比如 m.baidu.com 与www.baidu.com访问的主机是同一个,但返回的资源不一样。一个是手机版,一个是电脑板。)
windows系统现在不能修改hosts文件,就是为了防止黑客修改,防止域名被劫持。
web网络请求具体过程请移步:https://blog.csdn.net/weixin_43919632/article/details/93405193