作者:fedfedfv_249 | 来源:互联网 | 2023-09-07 10:10
1 Http协议概念
-
1、概念:
- Hyper Text Transfer Protocol ,超文本传输协议
-
2、传输协议:
-
3、特点:
- 基于TCP/IP的高级协议
- 默认端口:80
- 基于请求/响应模型的,一次请求对应一次响应
-
4、Http协议是无状态协议:
-
5、 历史版本:
- 1.0 版本:一次请求响应都会建立新的连接
- 1.1 版本:重复使用连接
2 请求消息数据格式(demo04)
2.0 案例
- 1、访问路径:http://localhost:8081/login.html
请求行 / 请求头
请求体(请求正文)
2.1 请求行
请求方式 ? 请求URL ? 请求协议/版本
POST ?????/demo04 ??HTTP/1.1
2.2 请求头
请求头名称:请求头值?(键值对)
2.3 请求空行
空行:用来等额POST请求的请求头和请求体的
2.4 请求体(请求正文)
(只有post请求有,用来封装POST请求消息的请求参数的)
2.5 请求行 请求头 请求空行 请求体的字符串格式
POST /demo04 HTTP/1.1 ???请求行
Host: localhost:8081
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:81.0) Gecko/20100101 Firefox/81.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,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
Content-Type: application/x-www-form-urlencoded
Content-Length: 25
Origin: http://localhost:8081
Connection: keep-alive
Referer: http://localhost:8081/login.html
COOKIE: Webstorm-cea968cd=15dbfddb-bcc8-47cf-b809-a141f7d6475b; Idea-b0676662=b5c99ad3-c0e4-43e9-bb14-8751da57f43a; JSESSIOnID=EB8E97991EDFC3DF5AF4159D4F422596
Upgrade-Insecure-Requests: 1???请求头
请求空行----------------------------------------------------------
username=Tom&passwprd=123 ??请求体
2.6 Http请求方式(7种)
Http请求方式共有七种,其中常用的两种:GET和POST请求
GET和POST请求的区别:
GET请求:
????请求参数在请求行中,在url后用?拼接
????请求的url长度有限制
????不逃安全
POST请求:
????请求参数在请求体中
????请求的url长度没有限制
????相对安全
2.7 请求头的内容介绍
请求头相当于浏览器高数服务器浏览器的信息
1、请求主机
???Host: localhost:8081
2、浏览器告诉服务器,浏览器的版本
???User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:81.0) Gecko/20100101 Firefox/81.0
3、告诉服务器,浏览器自身可以接收什么类型的响应数据
???Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8
4、浏览器可以支持的语言环境
???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
5、浏览器可以接受的压缩格式
???Accept-Encoding: gzip, deflate
6、浏览器告诉服务器,请求体的类型
???Content-Type: application/x-www-form-urlencoded
7、请求体的字节数
???Content-Length: 25
8、用来说明请求从哪里发起的,且仅仅包括协议和域名
???Origin: http://localhost:8081
9、HTTP协议连接是存活的,可以被复用
???Connection: keep-alive
10、告诉服务器,当前请求从哪里来(防盗链,统计工作)
???Referer: http://localhost:8081/login.html
11、当前页面设置的任何COOKIE
???COOKIE: Webstorm-cea968cd=15dbfddb-bcc8-47cf-b809-a141f7d6475b; Idea-b0676662=b5c99ad3-c0e4-43e9-
???bb14-8751da57f43a; JSESSIOnID=EB8E97991EDFC3DF5AF4159D4F422596
12、升级
????Upgrade-Insecure-Requests: 1
3 响应消息数据格式