点击上方蓝色字体,选择“标星
webapps目录下的ROOT应用是默认应用
如果想在访问localhost:的时候打开某个其他的应用,
只要把原来的ROOT随便改个名,把目标应用的名称改为ROOT,重启服务器即可。
1.12批量管理应用以后的应用名称可能很长,不好输入,那么如何查看一个主机下的所有应用呢?
进入小猫页面,点击右侧的ManageApp
会提示输入账号密码
点击取消,弹出界面
需要配置conf/tomcat-users.xml文件
在tomcat-users标签的最后添加
rolerolename="manager-gui"/userusername="1"password="1"roles="manager-gui"/
返回小猫界面进入ManagerApp,左侧为所有应用,点击即可进入,可批量管理。
2、HTTP协议2.1HTTP协议概述HTTP协议概念HTTP的全称是:HyperTextTransferProtocol,意为超文本传输协议。它指的是服务器和客户端之间交互必须遵循的一问一答的规则。形容这个规则:问答机制、握手机制。
它规范了请求和响应内容的类型和格式。
HTTP协议是由W3C组织管理和维护的。
HTTP协议版本目前HTTP协议主要是1.0版本和1.1版本。这两个版本的区别主要是两个方面。
第一:HTTP1.1版本比1.0版本多了一些消息头。
第二:HTTP1.1版本和1.0版本的执行过程不一样。执行过程如下:
HTTP1.0HTTP1.1创建连接(TCP/IP)创建连接(TCP/IP)发送请求发送请求1得到响应得到响应1关闭连接发送请求2创建连接(TCP/IP)得到响应2发送请求.......得到响应.......关闭连接连接超时或手动关闭连接Http1.0版本HTTP10协议规定,客户端若要向服务端发出请求,必须首先在它们之间创建一个TCP(TransferControlProtocal,传输控制协议)连接。而当客户端接收到服务端所发出的响应后服务端将关闭TCP连接。只有等待上一次的请求所对应的响应被客户端接收到后,客户端才可发出第二次请求。HTTP1.0协议中的连接属于非持久连接,且服务器不跟踪和记录任何次请求与响应。
客户端与服务端每次建立和关闭连接都是一个相对比较费时的过程,会严重影响客户端和服务端的性能。
Http2.0版本HTTP1.1版本是目前浏览器默认采用的HTTP协议版本,是一种持久连接,在一个TCP连接上可以传送多个HTTP请求和响应,减少了建立和关闭连接的消耗和延迟。一个包含有许多CSS、JS、图片等资源的页面,其所发出的多个请求和响应可以在一个连接中传输。但每个单独的页面文件的请求和响应仍然需要使用各自的连接。HTTP1.1还允许客户端不用等待上一次请求结果返回,就可以发出下一次请求,但服务器端必须按照接收到客户端请求的先后顺序依次回送响应结果,以保证客户端能够区分出每次请求的响应内容,这样也显著地减少了整个下载过程所需要的时间。HTTP1.0在客户端接收到服务端发送来的响应后,TCP连接马上关闭。而HTTP1.1的连接是什么时候关闭呢?客户端在发送创建TCP连接请求之前首先计算出本次连接浏览器所要发送的请求数量,即一次手工请求加上其所携带的所有自动请求数量。当所有浏览器所发出的请求全部发送完毕后,客户端会再自动发送一个关闭TCP连接的请求。这个请求在HttpWatch中是看不到的。为了防止服务器主动将TCP连接关闭,在每一个请求中都携带了一个参数Connection用于告诉服务器是否关闭连接。在HttpWatch中可以看到的这些请求中,其Connection参数值均为Keep-Alive保持连接。只有当客户端发送了关闭TCP连接请求时,服务器才会将TCP连接关闭。
当然,除了改进了HTTP1.0协议的性能问题外,HTTP1.1还通过增加更多的请求头和响应头来改进和扩充HTTP1.0的功能。例如,由于HTTP1.0不支持Host请求头属性,WEB浏览器无法使用主机域名来明确表示要访问服务器上的哪个WEB站点,这样就无法使用wEB服务器在同一个IP地址和端口号上配置多个虚拟WEB站点。在HTTP1.1中增加Host请求头字段后,WEB浏览器可以使用主机域名来明确表示要访问服务器上的哪个WEB站点,这才实现了在一台WEB服务器上可以在同一个IP地址和端口号上使用不同的主机名来创建多个虚拟WEB站点。HTTP1.1的持续连接,也需要增加新的请求头来帮助实现,例如,Connection请求头的值为Keep-Alive时,客户端通知服务器返回本次请求的响应后仍然保持连接;Connectio请求头的值为close时,客户端通知服务器关闭连接。
Http1.0与Http1.1版本的对比它们的共同点是请求和响应成对存在,客户端的一次请求一定会对应服务端的一次响应。它们的区别如下:
(1)HTTP1.0HTTP1.0协议中的连接属于非持久连接,一次TCP连接只能进行一次请求与响应。一次请求与响应对应一个TCP连接。客户端只有在接收到服务端对上一次请求的响应后,客户端才可发出第二次请求。HTTP1.0不支持对虚拟主机的访问。因为其没有HOST请求头属性,会将用户所发出的域名直接通过DNS转换为IP后,发送到服务端。也就是说,服务端接收到的直接就是个IP而非域名。这样HTTP1.0的请求就不支持对虚拟主机的访问了。HTTP1.0协议中在客户端接收到服务端的响应后,马上发送关闭TCP连接的请求,服务端关闭连接。
(2)HTTP1.1HTTP1.1支持持久连接,在一个TCP连接上可以传送多个请求和响应。一般情况下,一个页面中的请求与响应对应一个TCP连接。HTTP1.1还允许客户端不用等待上一次请求结果返回,就可以发出下一次请求。HTTP1.1支持对虚拟主机的访问。其在请求头属性中增加了HOST属性,用于记录请求所要访问的虚拟域名。当然,请求中所携带的域名,肯定会通过DNS将其转换为IP然后查找到相应的主机。但由于请求中还携带有HOST属性,即要访问的域名仍然在请求中,这样的话,服务器就可以从请求中解析出请求所要访问的虚拟主机名。HTTP1.1协议中在客户端接收到对最后一次请求的响应后,马上发送关闭TCP连接请求,服务端关闭连接。
HTTP协议相关说明HTTP协议概念是客户浏览器和服务器一种一问一答的规则,那么必须要有问有答,而且要先问后答。但是我们使用script,link和img标签,没有手动发起请求,但是仍然能从服务器端拿到数据,原因就是:在浏览器遇到script,link,img标签时会自动发出请求。
2.2HTTP协议组成由HTTP协议的概念可知,它分为问和答两部分。其中问指的就是请求部分,而答指的就是响应部分。
请求部分在学习请求协议格式之前,首先要了解两个概念:URL与URI。URL:UniformResourceLocator,统一资源定位符。是互联网上标准资源的地址,可以在全球范围内唯一的确定一个资源URl:UniformResourceldentifier,统一资源标识符,用于标识一个资源的名称。通过这种名称命名的资源可以被互联网定位和访间。
请求行:永远位于请求的第一行请求消息头:从第二行开始,到第一个空行结束
空白行:用于分离请求报头和请求正文请求的正文:从第一个空行后开始,到正文的结束
响应部分响应行:永远位于响应的第一行响应消息头:从第二行开始,到第一个空行结束
空白行:用于分离响应报头和响应正文响应的正文:从第一个空行后开始,到正文的结束
消息头的共性分析消息头名称首字母大写,多个单词每个单词的首字母都大写。多个单词用-分隔名称和值之间用冒号加空格分隔多个值之间用逗号加空格分隔两个头之间用回车分隔
2.3请求部分详解请求行详解请求行:GET/myapp/2.htmlHTTP/1.1
内容说明GET请求的方式。(还有POST)/myapp/2.html请求的资源。HTTP/1.1使用的协议,及协议的版本。请求消息头详解内容说明Accept告知服务器,客户浏览器所支持的MIME类型。Accept-Encoding告知服务器,客户浏览器所支持的压缩编码格式。最常用的就是gzip压缩。Accept-Language告知服务器,客户浏览器所支持的语言。一般都是zh_CN或en_US等。Referer告知服务器,当前请求的来源。只有当前请求有来源的时候,才有这个消息头。从地址栏输入的没有来源。作用:1投放广告2防盗链Content-Type告知服务器,请求正文的MIME类型。Content-Length告知服务器,请求正文的长度。User-Agent浏览器相关信息Connection:Keep-Alive连接的状态:保持连接If-Modified-Since告知服务器,客户浏览器缓存文件的最后修改时间。Cookie(********)会话管理相关,非常的重要。请求正文详解第一:只有post请求方式,才有请求的正文。get方式的正文是在地址栏中的。第二:表单的输入域有name属性的才会被提交。不分get和post的请求方式。第三:表单的enctype属性取值决定了请求正文的体现形式。概述的含义是:请求正文的MIME编码类型。
enctype取值请求正文体现形式示例application/x-