vue-cookie的原理与使用

发布时间 2023-11-16 11:29:01作者: CodingSh1t

cookie及session的原理:

cookie工作原理:

  • 由于HTTP是一种无状态的协议,服务器单从网络连接上无从知道客户身份。用户A购买了一件商品放入购物车内,当再次购买商品时服务器已经无法判断该购买行为是属于用户A的会话还是用户B的会话了。怎么办呢?就给客户端们颁发一个通行证吧,每人一个,无论谁访问都必须携带自己通行证。这样服务器就能从通行证上确认客户身份了。这就是Cookie的工作原理。

  • Cookie实际上是一小段的文本信息。客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie。客户端会把Cookie保存起来。

  • 当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器检查该Cookie,以此来辨认用户状态。服务器还可以根据需要修改Cookie的内容。

session工作原理

  • Session是另一种记录客户状态的机制,不同的是Cookie保存在客户端浏览器中,而Session保存在服务器上。客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上。这就是Session。客户端浏览器再次访问时只需要从该Session中查找该客户的状态就可以了。

  • 每个用户访问服务器都会建立一个session,那服务器是怎么标识用户的唯一身份呢?事实上,用户与服务器建立连接的同时,服务器会自动为其分配一个SessionId。

什么东西可以让你每次请求都把SessionId自动带到服务器呢?

显然就是cookie了,如果你想为用户建立一次会话,可以在用户授权成功时给他一个唯一的cookie。当一个用户提交了表单时,浏览器会将用户的SessionId自动附加在HTTP头信息中,(这是浏览器的自动功能,用户不会察觉到),当服务器处理完这个表单后,将结果返回给SessionId所对应的用户。试想,如果没有 SessionId,当有两个用户同时进行注册时,服务器怎样才能知道到底是哪个用户提交了哪个表单呢。

vue-cookie使用

  1. 安装vue-cookies
npm install vue-cookies --save
  1. 引入vue-cookies
    安装完毕后,我们需要在vue项目中明确引入vue-cookies。
import Vue from 'vue'
import VueCookies from 'vue-cookies'
Vue.use(VueCookies)
  1. 组件当中使用:
create(){ 
  this.$cookie.set('token', "asdasd") 
}
mouted(){ 
  this.$cookie.get('token') 
}
destory(){
 this.$cookie.delete('token') 
}
  1. 设置到期时间:
this.$cookies.config('固定时间') //填的值1d为一天,1h为一小时,1min为一分钟,1s为1秒,不区分大小写
//指定时间
this.$cookies.config(new Date(2020, 12, 1))
this.$cookies.config('Sat, 13 Mar 2017 12:25:57 GMT')
//不写过期时间,默认为1天过期
this.$cookies.set('user_session', 'dadaf231FADADA157fadfaadq')
//也可以在设置cookie的时候直接指定
this.$cookies.set('user_session', 'dadaf231FADADA157fadfaadq','1d')

————————————————————————————————
参考自:https://blog.csdn.net/qq_59068750/article/details/123012958