HTTP传输协议
传输协议:
- 前后端交互的方式
- 四个步骤。1:建立连接。2:前端发送请求。3:后端响应请求。5:断开连接
- 一次传输一个任务,任务可以详细
- 单工通信,不允许前后端同时发送
- 前后端只能交互字符串,
四个步骤
-
建立连接:基于tcpip的三次握手:是浏览器和服务器之间,保证通道的连接。第一次:前端问后端在不在,第二次后端说前端我在,第三次前端会后端说好的。第四次,后端和前端说发送消息吧, 三次握手只能保证当前是连接的,以后无法保证
-
发送请求:前端发给后端,报文形式发出。
- [ ] 四个部分:
- [ ] 请求行(请求方式get和post、请求地址、http1.1传输协议版本),
- [ ] 请求头(描述信息:host:localhost、refreer来源、
accept:期望数据类型、
useragent:请求终端、cookie都是键值对形式),
- [ ] 请求空行(分隔),
- [ ] 请求体(前端给后端的参数)
-
3、接收响应
- [ ] 响应是服务器接收前端之后返回的结果 - [ ] 必须是报文 - [ ] 包括 - [ ] 状态行【状态码、状态码描述、传输协议版本】 - [ ] 响应头【描述信息:data、server服务器信息、 - [ ] contenlength: - [ ] 相应体长度、content-type数据格式 - [ ] 响应体【后端给前端的数据】
-
4、断开连接
- [ ] 四次挥手
- [ ] 前端发送后端:我收到,要断开了
- [ ] 后端发生前端:我知道你断吧
- [ ] 后端发前端:我断了
- [ ] 前端收到第一个
- [ ] 前端收到第二个:别回了 -
响应状态吗
- 100-199 连接继续
- 200-299成功
- 300-399重定向
- 400-499 客户端错误
- 500-599 服务端错误
- 常见状态码:
- 501:服务器过载、101:连接继续、200:成功、302临时重定向
- 302:使用服务器来改变前端地址,到目标地址
- 301:永久重定向、访问一个网址永久重定向到一个网址
- 403:访问权限不够,客户端
- 404:地址不存在
- 500:通用服务器错误
-
请求方式
-
get、post、put、head
-
get是从后端获取,post给服务器数据,登陆、
-
put给服务器:用于注册
-
head:获取头部信息
-
delete:删除
-
connect:管道连接,改变代理连接
-
patch:给服务器信息,修改,完善
-
options:获取服务器性能
get和post的区别
- 语义不同,获取和给
- get参数在地址栏,post的参数在请求体
- get数据由浏览器大小决定,多了会删除,post数据服务器限制
- get会被浏览器缓存,post不会被主动缓存
- get明文发送,post暗纹发送
- post格式任意要告诉浏览器
cookie
- 浏览器本地的存储空间,存储数据
- 按照域名存储
- 路径存储,在一个文件夹存储的数据只可以
- 按照字符串存储,key = value
- 大小4kb,59条左右
- 时效性:会话级别,关闭就没有,可以手动设置时效性
- 操作权限:前后端都可以
- localstroget只能前端
- 请求自动携带,cookie里面的东西不用手动添
前端操作cookie
- document.cookie
- 读:document.cookie得到所有
- 写:document.cookie = “key = value"
- 一次设置一条cookie、设置时候分号后面书写描述
- expires:过期时间,expires = new data()
- path:路径,a = 100 ; path= /
- /是根目录
- 数据转换成字符串
- 删除:设置过期时间尾为历史时间
- [ ]
- 设置时效性的cookie
- [ ]
前端获取cookie
//封装一个函数操作
function fun(key){
//分割字符串
let tmp == document.cookie.split(';');
let str = '';
var obj = {
};
if(key){
}
else{
}
}