一、总结
1. cookie保存到本地中。Session由服务器产生并返回SessionID给客户端。cookie保存这些信息。
2. 使用cookie,服务器关注“状态”,Session的销毁交给服务器端去处理。而token由APP本地销毁;token无状态的概念。
3. 可以使用JWT存储一些其他的数据,比如用户的角色信息。避免客户端多次向服务器发起请求(这些请求包含:根据用户的信息查询用的角色信息等),减轻服务器压力。
4. token不是加密的,可以使用加密算法对token进行加密。
5. 作用域:cookie在跨域情况下,无法进行传递。
6. 移动平台角度,token可以在Android和iOS上简单实用,而不像cookie那样在不同平台需要做不同的处理。
7. 使用token,用JWT附带信息,这个有点也是它的缺点,导致最小的JWT会比cookie还大的多。
8. 为了防止XSS和CSRF,可以给token设置过期时间。
来源:https://auth0.com/blog/cookies-vs-tokens-definitive-guide/