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架构图:

Servlet:HTTP协议、Tomcat,理论、知识点

8.Tomcat工作原理

作用:Tomcat是一个能够处理请求并产生响应的应用程序

运行原理:

Servlet:HTTP协议、Tomcat,理论、知识点