Cookie Session Jwt

cookie

存在于浏览器的一个凭证

  • 当浏览器第一次访问服务器 , 会在服务器创建一个cookie
  • 再返回浏览器
  • cookie里面有用户的所有信息
  • 当用户再次访问服务器时 , 携带着cookie(一个凭证)
  • 服务器根据携带的cookie信息不同分别不同用户

在这里插入图片描述

session

  • 浏览器访问服务器的时候 , 服务器创建一个session , 同时生成一个特殊的cookie , (name为JSESSIONID的固定值,value为session对象的ID)发送到浏览器端
  • 浏览器再次访问服务器时 , 带着那个有固定name的cookie
  • 服务器根据name去查询session里的id , 从而区分不同用户
    在这里插入图片描述

cookie 和session区别

  • cookie 保存在浏览器 session保存在服务器
  • session要更安全 如果截获一个cookie并重新伪造一个数据包 , 服务器分辨不出来 , cookie有安全问题
  • session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,如果主要考虑到减轻服务器性能方面,应当使用COOKIE
  • 单个cookie在客户端的限制是3K,就是说一个站点在客户端存放的COOKIE不能3K。
  • 所以:将登陆信息等重要信息存放为session;其他信息如果需要保留,可以放在cookie中

jwt

JSON Web Token(JWT)

含义 :

  • jwt本质就是服务端把用户信息加密后生成一个字符串返回给浏览器
  • jwt 存在客户端, 由后端生成的, 传递给前端, 存在本地存储
  • 特殊的JSON
  • 每次访问服务器都会带着

使用 :
在这里插入图片描述

组成 :

  • jwt由jwt头 , 有效载荷 , 签名构成
  • jwt头 是一个描述JWT元数据的JSON对象
  • 有效字段 是用户没有敏感字眼的信息
  • 签名 是对前面两部分内容签名 , 确保信息不会被篡改
  • 头部 和 有效字段是安全性相关的部分,只是为了保证 Token 的安全性。
  • 客户端收到服务器返回的 JWT 之后,通常会将它储存在 localStoragesessionStorage 中。
    此后,客户端每次与服务器通信,都要带上这个 JWT 的字符串,从而进行身份认证。推荐的做法是把 JWT 放在 HTTP请求头的 Authorization 字段中,格式如下:
    在这里插入图片描述

三者的异同

同: 都是用来身份认证 就是通过一定的手段,完成对用户身份的确认。

异:

  1. Cookie和Jwt都是储存在浏览器的 , Session储存在服务器
  2. 安全性来说 , Jwt 和Session 比Cookie安全
  3. 如果你的用户数据可能需要和第三方共享,或者允许第三方调用 API 接口,用 Jwt。如果永远只是自己的网站,自己的 App,用什么就无所谓了。
  4. 在大多数使用Web API的互联网公司中,Jwt是多用户下处理认证的最佳方式。
  5. token就是令牌,比如你 授权登录一个程序时,他就是个依据,判断你是否已经授权该软件;
  6. cookie就是写在客户端的一个txt文件,里面包括你登录信息之类的,这样你下次在登录某个网站,就会自动调用cookie自动登录用户名;
  7. session和cookie差不多,只是session是写在服务器端的文件,也需要在客户端写入cookie文件,但是文件里是你的浏览器编号.
  8. Session的状态是存储在服务器端,客户端只有session id;而Jwt的状态是存储在客户端。

参考Cookie和Session的区别(面试必备)
node基础4-- MySQL的使用和前后端的身份认证
session 、cookie、token的区别

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值