cookie,session,JWT(token)

  • 鉴权

    • 鉴权: 判断某用户是否有权访问服务器上的资源
    • 例如;
      • 用户需要登录之后才可以访问一些特定的界面
      • 某些页面需要token才可以访问
    • HTTP是无状态的
      • 早期的web只需要提供信息给访问者就行了,不需要记录状态,浏览器和服务器不能凭借HTTP协议来辨别请求的上下文
      • 服务器是不能识别浏览器发出的请求是否之前发过
    • 鉴权思路
      • 一种: 将身份信息保存在服务器.
        • 例如: 取快递的时候,报出快递号就可以查看是否有这个快递
        • 快递点就是服务器,自己是客户端
      • 二:种 将身份信息保存在客户端.
        • 例如: 游乐园门票,使用门票后,在门票上面打孔,但门票在自己手上
        • 自己是客户端,服务器是游乐园
    • 鉴权实现步骤
      • 怎么让服务器认识你,明白你是谁
      • 用户登录之后,得到能表明身份的凭证,下次请求或请求其他页面,带上这个凭证我就可以访问,不带凭证就不能访问,因为服务器不认识你
  • 鉴权的方式有三种(cookie,session,token)

    • cookie(甜饼)

      • 是存在于浏览器上的一种浏览器本地存储的方式, 存储一些不重要的信息,大小为4K
      • 同域名下的 cookie 不同标签页可以共享, 默认过期时间是浏览器关闭时
      • 进行 HTTP 请求时, 会自动带上浏览器全部的 cookie 发给后台, 后台也可以获取 cookie, 设置可以在响应时, 向浏览器中设置 cookie。
      • 可以通过浏览器查看某个网站的cookie
      • 因为cookie可以人为的设置和修改查看,所以一些重要信息无法在cookie上储存,因为是不安全的
    • cookie的修改和查看
      • cookie,session,JWT(token)_第1张图片

      • cookie,session,JWT(token)_第2张图片 通过控制台也可以查看cookie
      • cookie在检查元素中可以进行查看,双击中间的name和value可以进行修改和增加,一般cookie保存一些无关紧要的信息和请求
    • cookie鉴权方案

      • 分析思路
        • 用户登录成功,服务器设置cookie
        • 用户下次请求会自动加上cookie,服务器解析cookie,判断是否登录
        • 用户退出,服务器删除cookie
        • cookie,session,JWT(token)_第3张图片 思路图
      • 案例准备(结构,代码,安装包)

        • 用到的npm包

          • npm install cookie-parser

            npm install express

            下面cookie代码演示默认:已安装这两个包        

          • cookie,session,JWT(token)_第4张图片 案例目录

你可能感兴趣的:(笔记,javascript,node,cookie,http,session)