SessionCookie和token区别

Posted 粉色的海绵宝宝

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SessionCookie和token区别相关的知识,希望对你有一定的参考价值。

SessionCookietoken区别

  • session

    • 是保存在服务端的数据,用来追踪用户的。
    • 数据可以保存在集群、数据库、文件中(默认文件里)。
    • 抽象的概念,用户信息与服务器之间的一对一交互形成的“会话状态”。
  • cookie

    • 是客户端保存用户数据的一种机制,同时也协助session保存数据。
    • http协议中定义在header中的字段。
    • 实际存在的东西。
    • 如果没有设置cookie过期时间,生命周期随着浏览器的关闭而结束。
    • 大小限制在4kb
  • token

    • 存在headerauthoriize 里面,支持移动平台。

    • 只存在于浏览器里,服务端会有一套验证机制。

    • token由3部分组成,header(签名算法),payload(用户id),signature(签名)

    • token一旦生成就是有效的,除非token过期才不可用。

    • token缺点

      • token太长,对请求来说是个不小的负担。
      • 不安全,存在localStorage本地存储里面,可以被js直接读取。
  • sessionStorage

    • 将数据存在session对象中,从进入浏览器到浏览器关闭这段时间,session对象可以保存这段时间的任何数据。
    • 临时保存,5MB
    • 获取方法window.localStorage。
  • localStorage

    • 将数据保存在客户端本地的硬件设备(硬盘等),即使浏览器关闭,下次重新打开还是可以继续使用。
    • 永久保存,5MB
    • 获取方法window.sessionStorage
  • 维持一个会话的核心就是客户端的唯一标识,即 session id。

//sessionStorage和localStorage存储与读取

//sessionStorage 示例  (保存一个会话周期:从打开浏览器——到关闭浏览器窗口)
//保存:
	sessionStorage.setItem("key","value");
	//或者写成
	sessionStorage.key="value";
//读取:
	变量=sessionStorage.getItem("key");
	//或者写成
	变量=sessionStorage.key;
//localStorage 示例(可永久保存)    
//保存:
	localStorage.setItem("key","value");
	//或者写成
	localStorage.key="value";
//读取:
	变量=localStorage.getItem("key");
	//或者写成
	变量=localStorage.key;

以上是关于SessionCookie和token区别的主要内容,如果未能解决你的问题,请参考以下文章

SessionCookie(httpOnly,secure)Token

session cookie token

SessionCookie及cache的区别

Jsessionid和cookie的区别与联系

add application window with unknown token XXX Unable to add window;is your activity is running?(代码片段

add application window with unknown token XXX Unable to add window;is your activity is running?(代码片段