请求 行 头 体
响应 行 头 体
介绍
HTTP (Hyper Text Transfer Protocol) 超文本传输协议,是互联网上应用最为广泛的一种网络协议。
作用:
规范浏览器和服务器之间通信时传输数据的格式
特点:
基于TCP协议:面向连接,安全
基于请求-响应模型的:一次请求对应一次响应
HTTP协议是无状态的协议:每次请求-响应都是独立的,不相互记录数据,目的是为提高效率
无论是请求还是响应都包含三部分:行、头、体
以Chrome浏览器为例,使用F12打开开发者模式,选择NetWork选项卡,然后通过网络访问页面
HTTP请求
请求行
GET /mock/169327/emp/list?username=heima HTTP/1.1
请求行由三部分组成:请求方式 请求路径 请求协议/版本
请求方式有很多, 我们需要关注两种: get 和 post
get: 请求参数在地址栏显示,不太安全; 请求参数大小有限制; 没有消息体
post:请求参数没有在地址栏显示,而是在请求体显示,相对安全; 请求参数大小没有限制; 有消息体
请求头
Connection: keep-alive
请求头格式是键值对 键:值
User-Agent: 浏览器告诉服务器端,客户端操作系统和浏览器版本信息,借助它可以处理浏览器的兼容性问题
请求体
username=heima
格式 参数名=参数值&参数名=参数值
注意 get方式没有请求体,post方式有请求体
HTTP响应
HTTP的响应也是由行、头、体构成的。
响应行
HTTP/1.1 200 OK
响应行由三部分组成: 协议/版本 响应码 响应描述
常见响应状态码:由服务器告诉浏览器,本次响应状态
200:操作成功
404:请求路径没有对应资源
500: 服务器错误
响应头
Content-Type: text/html;charset=utf-8
请求头格式是键值对 键:值
Content-Type:服务器告诉浏览器,响应体的数据类型和编码方式
响应体
服务器返回的具体内容
需要记住的内容 1、不管是请求还是响应都包含三部分内容: 行 头 体
2、请求方面要关注的是:请求方式 请求URL地址 请求参数
3、响应方面要关注的是:响应的状态码 响应回来的数据
常见的状态码:
200:成功
304:读取了缓存
400:请求参数有问题 一般是格式有问题
401:没有权限
403:被拒绝
404:找不到资源
500:内部服务器错误