概念:Hyper Text Transfer Protocol超文本传输协议
传输协议:定义了,客户端和服务器端通信时,发送数据的格式。
特点:
1.基于TCP/IP的高级协议
2.默认端口号:80
3.基于请求响应模型的。一次请求对应一次响应。
4.无状态的:每次请求之间相互独立。
历史版本:
1.0:每次请求都新建一个链接,响应后断开链接
1.1:复用链接
请求消息数据格式:
1.请求行
请求方式
请求url 请求协议/版本
GET /login.html HTTP/1.1
Http协议有7中请求方式,常用的有GET和POST
GET:请求参数在请求行中,url后。请求的url长度是有限制的。不安全。
POST:请求参数在请求体中。请求的url长度没有限制的。相对安全。
2.请求头---键值对
请求头名称:请求头值
常见请求头:
1.User-Agent:浏览器版本。服务器端获取浏览器版本,解决浏览器兼容问题。
2.Referer: http://localhost/login.html
告诉服务器当前请求从哪里来?作用:1.防盗链。2.统计工作。
3.请求空行
空行,就是用来分割POST请求的请求头和请求体的。
4.请求体(正文)
封装POST请求消息的请求参数的。GET请求没有请求体。
Host: localhost
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.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: 12
Origin: http://localhost
Connection: keep-alive
Referer: http://localhost/login.html
响应消息数据格式: