Servlet:HTTP协议、Tomcat,理论、知识点
Servlet:HTTP协议、Tomcat
1.HTTP协议
本质:就是一个浏览器和服务器之间进行数据交互的一种约定
HTTP协议就是(超文本传输协议)的缩写,HTTP是万维网的数据通信的基础
HTTP是一个简单地请求-响应协议,通常运行在TCP之上
2.HTTP协议特点:
- 支持客户/服务器模式
- 简单快速
- 灵活
- 短连接
- 单向性
- 无状态
3.HTTP协议中
URI:统一资源标识符,是一个用于标识某一互联网资源名称的字符串,URL和URN都是
URI的子集
URL:统一资源定位符,可以帮助我们唯一定位互联网上的某一个资源,相当于是互联网资
源的身份证号。http://www.vip88.cn:80/course/id/18.html?a=3&b=4
① http,是协议
② www.vip88.cn,是服务器域名
③ 80,是服务器上默认网络端口号,默认不显示
④ /course/id/18.html,是路径(URI:直接定位到对应的资源)
⑤ ?a=3&b=4,请求时传递的数据
URN:统一资源名称,其目的是通过 提供一种途径,用于在特定的命名空间资源的标识
4.HTTP协议的请求
请求行:
GET /course/id/18.html?a=3&b=4 HTTP/1.1
POST /login HTTP/1.1
请求头:
Host:客户端指定自己想访问的WEB服务器的域名/IP 地址和端口号
Connection:连接方式
Upgrade-Insecure-Requests:服务端是否支持https加密协议。
Cache-Control:指定请求和响应遵循的缓存机制。
User-Agent:浏览器表明自己的身份(是哪种浏览器)
Accept:告诉WEB服务器自己接受什么介质类型
Accept-Encoding:浏览器申明自己接收的编码方法,通常指定压缩方法,是否支持压
缩,支持什么压缩方法(gzip,deflate)。
Accept-Language:浏览器申明自己接收的语言
Accept-Charset:浏览器告诉服务器自己能接收的字符集。
Referer:浏览器向WEB 服务器表明自己是从哪个网页URL获得点击当前请求中的网
址/URL。
Refresh:表示浏览器应该在多少时间之后刷新文档,以秒计时。
Cookie:可向服务端传递数据一种模型。
请求体:
客户端传递给服务器的数据
请求方式
get和post
GET和POST的区别(重要,面试常问)
GET在浏览器回退时是无害的,而POST会再次提交请求。
GET产生的URL地址可以被Bookmark,而POST不可以。
GET请求会被浏览器主动cache,而POST不会,除非手动设置。
GET请求只能进行url编码,而POST支持多种编码方式。
GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。
GET请求在URL中传送的参数是有长度限制的,而POST则没有。对参数的数据类型
GET只接受ASCII字符,而POST即可是字符也可是字节
GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
GET参数通过URL传递,POST放在Request body中。
5.HTTP协议的响应
响应行:
HTTP/1.1 200 OK
响应头:
Date:响应的Date使用的是GMT时间格式,表示响应消息送达时间。
Server:服务器通过这个Server告诉浏览器服务器的类型。
Vary:客户端缓存机制或者是缓存服务器在做缓存操作的时候,会使用到Vary头,会读
取响应头中的Vary的内容,进行一些缓存的判断。
Content-Encoding:文档的编码(Encode)方式。
Content-Length:表示内容长度。
Content-Type :表示响应的文档属于什么MIME类型。
响应体:
响应体就是响应的消息体,如果是纯数据就是返回纯数据,如果请求的是HTML页面,
那么返回的就是HTML代码,如果是JS就是JS代码
5.Tomcat的目录以及作用:
① bin:用来运行的
② **conf:**配置文件
③ lib:jar包
④ logs:存放日志
⑤ temp:存放临时文件
⑥ **webapps:**存放应用程序
⑦ **work:**运行时编译的文件
6.Tomcat控制台乱码问题
修改conf目录中的logging.properties文件重新指定的编码方式
java.util.logging.ConsoleHandler.encoding = GBK
7.Tomcat架构图:
8.Tomcat工作原理
作用:Tomcat是一个能够处理请求并产生响应的应用程序
运行原理: