cookie,session,JWT(token)

本文详细介绍了HTTP鉴权的三种常见方式:Cookie、Session和JWT。内容包括它们的工作原理、优缺点及应用场景。通过案例分析,阐述了如何在Node.js环境中实现这些鉴权机制,并对比了它们之间的差异,强调了JWT作为现代应用中更常见的选择。
摘要由CSDN通过智能技术生成
  • 鉴权

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

    • cookie(甜饼)

      • 是存在于浏览器上的一种浏览器本地存储的方式, 存储一些不重要的信息,大小为4K
      • 同域名下的 cookie 不同标签页可以共享, 默认过期时间是浏览器关闭时
      • 进行 HTTP 请求时, 会自动带上浏览器全部的 cookie 发给后台, 后台也可以获取 cookie, 设置可以在响应时, 向浏览器中设置 cookie。
      • 可以通过浏览器查看某个网站的cookie
      • 因为cookie可以人为的设置和修改查看,所以一些重要信息无法在cookie上储存,因为是不安全的
    • cookie的修改和查看
      • 通过控制台也可以查看cookie
      • cookie在检查元素中可以进行查看,双击中间的name和value可以进行修改和增加,一般cookie保存一些无关紧要的信息和请求
    • cookie鉴权方案

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

        • 用到的npm包

          • npm install cookie-parser

            npm install express

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

          • 案例目录
          • index.html代码
          • <!DOCTYPE html>
            <
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值