1.HTTP协议简介
约定好的格式来发送和接收消息,格式就是协议。
HyperTextTransferProtocol HTTP 协议
2.HTTP协议的交互模型
客户端发起请求,服务器端响应 (请求/响应)
3.HTTP的请求消息
客户端 发送到服务器的HTTP请求消息
4.HTTP请求消息的组成部分
请求行、请求头部、空行、请求体
4.1请求行
方式 URL HTTP协议版本
例如: POST /api/post HTTP/1.1
4.2请求头部
User-Agent(浏览器) Content-Type(发送到服务器的数据格式) Accept(什么类型返回内容 ) Accept-Language(语言)
键值对的方式开头 以回车和换行结尾
4.3空行
通知服务器请求头部至此结束
4.4请求体
post方式提交到服务器的 数据,只有POST请求才有请求体,GET请求没有请求体
总结:HTTP请求由四部分或三部分组成
5.HTTP响应消息
服务器响应给客户端的消息内容,由四部分组成 状态行、响应头部、空行、响应体
5.1状态行
协议版本 状态码 状态码描述
示例:HTTP/1.1 200 OK
5.2响应头部
键值对,以回车换行结尾,用来描述服务器的基本信息
MDN官方文档 https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers
5.3空行
通知客户端响应头部至此结束
5.4响应体
服务器响应给客户端的资源内容
6.HTTP请求方法
要对服务器上的资源执行的操作
GET POST PUT(向服务器提交资源,替换掉服务器旧资源) DELETE(请求服务器删除指定资源)
7.HTTP响应状态码
HTTP Status Code 随响应消息返回到浏览器
7.1响应状态码组成:三个十进位数字组成。
第一个数字定义状态码类型
2** 成功相关的响应状态码
200 OK 请求成功 | 201 已创建
3** 重定向相关的响应状态
301 永久移动 会自动重定向|302 临时移动 客户端会继续使用原有URL|304 未修改,访问缓存内数据。
4** 客户端错误相关的响应状态码
401 需要用户验证|404 无法找到资源
5** 服务端错误相关
500 服务器内部错误|501 服务器不支持该请求|503 服务器超载或暂停服务