Cookie、Session、Token身份验证的区别

75 阅读1分钟

【Cookie】 Cookie存储在本地,验证信息也由本地生成,那么用户也可以篡改Cookie内容,安全性较差。

【Session】 Session由服务端生成,本地用户只存储一个Session ID,验证信息则存储在服务端。Session ID 由服务端生成,确保了验证过程的安全性。但是也对服务端增加了一部分压力。

【Token】 Token是近年来非常流行的验证方式。它由服务端生成,存储在本地,与Session对比,Token存储信息更多,由header 、playload、Signature组成。 header:声明用什么算法生成Signature。 playload:一些特定的数据,如有效期等信息。 Signature:服务端通过header和playload以及一个唯一的密钥生成的,确保了Token的不可伪造性和信息的完整性。

【总结】 Cookie、Session、Token各有优势和其适用的场景。Cookie适用于简单的状态管理。 Session适用于服务器端存储用户状态的场景,而Token则适用于分布式系统和移动应用,提供了更高的安全性和灵活性。