Cookie和token的区别

cookie 验证是有状态的,session;

token验证是无状态的,jwt;

token可以避免CSRF攻击(跨站请求伪造),和跨域CORS(跨域资源共享)

Cookie和Token是在Web开发中常见的两种机制,用于在客户端和服务器之间传递身份验证和状态信息。它们有以下区别:

  1. 存储位置
  • Cookie:存储在客户端(通常是浏览器)中,以文本文件的形式保存在用户设备上。

  • Token:通常存储在客户端,但也可以存储在服务器端,取决于具体的实现方式。

  1. 安全性
  • Cookie:在传输过程中可能会被窃取或篡改,因为它们存储在用户的设备上,并且可以被访问。

  • Token:通常使用加密算法进行签名,以确保在传输过程中的安全性。因此,与Cookie相比,它们更安全,特别是JWT(JSON Web Token)这样的标准化实现。

  1. 大小
  • Cookie:受到浏览器对Cookie大小的限制(通常为4KB),因此存储的数据量有限。

  • Token:通常比Cookie更小,并且可以在几KB到几百字节之间,因此可以在网络传输中更有效率地使用。

  1. 用途
  • Cookie:主要用于在HTTP请求之间存储状态信息,例如会话管理、用户偏好设置等。

  • Token:主要用于实现身份验证和授权机制,如OAuth认证、JWT等。

  1. 跨域支持
  • Cookie:受同源策略的限制,只能在设置它们的域名下发送到服务器。

  • Token:可以跨域发送到服务器,因为它们通常是作为HTTP请求的头部信息发送的,而不受同源策略的限制。

总的来说,Cookie和Token都是用于在客户端和服务器之间传递信息的机制,但它们的实现方式、用途和安全性有所不同,开发人员应根据具体需求选择合适的机制。


Cookie和token的区别
https://blog.fullsize.cn/2021/04/12/notion/cookie-he-token-de-qu-bie/
作者
fullsize
发布于
2021年4月12日
许可协议