http协议
响应协议报文
/**
* http响应协议的具体格式
*
* HTTP/1.1 200 ok 状态行
* Content-Type: text/html;charset=ISO-8859-1 响应头
* Content-Length: 12
* Date: Tue, 15 Nov 2022 00:37:19 GMT
* Keep-Alive: timeout=20
* Connection: keep-alive
* 空白行
* getServlet 响应体
响应协议的组成部分
- 状态行,三部分组成
- 第一部分:HTTP/1.1 协议版本号
- 第二部分:状态码(http协议中规定的响应状态号,不同的状态号对应不同的响应内容)
- 常见: 200表示响应成功,正常
- 404访问资源不存在,访问路径写错了,要么就是服务器对于资源未启动
- 405表示前端发送请求的方式与后端处理请求的方式不同(如post请求,用get请求处理。。)
- 500一般是服务器端的程序错误
- 第三部分 状态的描述信息
- 如: ok表示正常
- not found资源找不到
- 响应头
- 描述响应的内容类型,响应的内容长度,响应的时间。。。。。
- 空白行
- 分隔响应头和响应体
- 响应体
- 响应体就是响应的正文,是一个长字符串,这个字符串由浏览器渲染,解释并执行
get请求报文
GET /servlet05/getServlet?username=12312&password=21321321 HTTP/1.1 请求行
Host: localhost:8080 请求头
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:106.0) Gecko/20100101 Firefox/106.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate, br
Referer: http://localhost:8080/servlet05/
Connection: keep-alive
Cookie: Idea-edf53cfb=3fbed5fe-3e57-49ee-8778-103837ec2a17
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
空白行
请求体
post请求报文
POST /servlet05/postServlet HTTP/1.1 请求行
Host: localhost:8080 请求头
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:106.0) Gecko/20100101 Firefox/106.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate, br
Content-Type: application/x-www-form-urlencoded
Content-Length: 33
Origin: http://localhost:8080
Connection: keep-alive
Referer: http://localhost:8080/servlet05/
Cookie: Idea-edf53cfb=3fbed5fe-3e57-49ee-8778-103837ec2a17
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Sec-Fetch-User: ?1
空白行
username "213" 请求体
password "2313"
请求协议的组成
- 请求行
- 包括三部分
- 1.请求方式
- 常用:get/post
- delete/put/head/options/trace
- 2.URI
- URI和URL什么关系?有什么区别?
- URI是什么?统一资源标识符,代表网络中某个资源的名字,但是通过URI无法定位资源
- URL是什么?统一资源定位符,代表网络中某个资源,通过URL可以定位到该资源
- URL包括URI
- http://localhost:8080:/servlet05/index.html 这是URL
- /servlet05/index.html 这是URI
- 3.http协议版本号
- 1.请求方式
- 包括三部分
- 请求头
- 请求的主机
- 主机端口号
- 浏览器信息
- 平台信息
- cookie信息
- ............................
- 空白行
- 用于区分请求头和请求体
- 请求体
- 向服务器发送的具体数据