http传输+三次握手+状态码+cookie

在这里插入图片描述
在这里插入图片描述

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{
    
    
	}
}

猜你喜欢

转载自blog.csdn.net/weixin_43124546/article/details/110927133