【884、jwt从cookie到jwt解决了什么,cookie是干什么的】

62 阅读2分钟

JWT(JSON Web Token)和Cookie都是用于身份验证和授权的工具,但它们解决了不同的问题,并在应用程序中具有不同的用途。

  1. Cookie:

    • Cookie 是一种在客户端浏览器和服务器之间传递数据的机制。它通常是一个小的文本文件,由服务器发送给客户端浏览器,并存储在用户设备上。
    • Cookie 主要用于跟踪用户的会话状态和存储有关用户的信息,例如登录凭据、购物车内容、首选项等。
    • 通过在每个 HTTP 请求中自动发送 Cookie,服务器可以识别特定用户,并在不同页面之间维护用户状态,例如保持用户登录状态。
  2. JWT:

    • JWT 是一种用于在客户端和服务器之间安全传输信息的令牌,通常以JSON格式编码。
    • JWT 主要用于身份验证和授权。它包含一些声明(claims),例如用户ID、角色、过期时间等,并使用数字签名来验证令牌的完整性和来源。
    • JWT 解决了传统的基于会话的身份验证问题,其中服务器需要在内存中维护会话状态。相反,JWT 是无状态的,因为所有必要的信息都包含在令牌本身中,无需服务器状态。
    • JWT 可以存储在客户端的 Cookie 中,但通常存储在本地存储或内存中,以便JavaScript应用程序可以轻松访问它。

总之,Cookie主要用于在用户与Web应用程序之间保持会话状态和存储用户相关的信息,而JWT用于安全地传输身份验证和授权信息,而不需要服务器维护会话状态。在某些情况下,JWT可以存储在Cookie中,但它们解决了不同的问题。