Cookie,sessionstorage,localstorage,Token ,JWT,session的区别

1、cookie

HTML4开始使用,存储在客户端保存数据,不可跨域。cookie的数据每次都会发给服务器端。
不设置有效期就是存储在内存,会话级别的存储;设置了有效期就是存储在硬盘里,有效期到了自动消失。

2、webstorage

HTML5开始使用,纯粹为了保存数据。

sessionstorage

提供一种在cookie之外存储会话数据的路径。
不同标签页数据不相同(即使同窗同源)。
相当于没有设置有效期且同域数据不共享的cookie。

localstorage

提供一种存储大量可以跨会话存在的数据的机制。
相当于永久有效期且可跨域的cookie。

3、后端权限认证

session

客户端:第一次访问服务端时,服务端会生成sessionId,回传到客户端通过cookie 保存。
服务端:第一次需要生成sessionId,并保存对应信息在服务器中,方式有 cookie、内存、mongodb、redis等。

token

每一次请求都需要携带 token,需要把 token 放到 HTTP 的 Header 里。
服务端不需要像 session一样需要存储空间,但需要解析 token的时间。时间换空间,从而减轻服务器压力。
token 完全由应用管理,所以它可以避开同源策略,可实现租户等授权登录功能。

jwt(JSON Web Token)

JWT是json格式的标准化token,是目前较为常用的权限认证方法。

你可能感兴趣的:(前端,前端)