zoukankan      html  css  js  c++  java
  • Cookie、Session、Token的区别

       Cookie:是存储在浏览器本地的信息,以字符串内键值对的形式存储会话信息(类似于JSON字符串);

        适用场景:由于HTTP协议是无状态、无连接的超文本传输协议,所以无法对用户会话进行跟踪连接,所以将会话信息存储到cookie,这样浏览器访问服务端的时候就能知道先前的连接会话信息;一般该信息记录用户身份,当然cookie也常记录跟踪购物车的商品信息(如数量)、记录用户访问次数等。

       安全性:由于在本地存储,不安全;

      生命周期:在浏览器中发起一个会话即新建的一个cookie文本,关闭浏览器窗口即cookie失效,这称为会话cookie;当然也可以设置cookie的有效时长,则会存储在本地直到失效,例如

    Response.Cookies(“LastView”).Expires=# 1/29/2003 #   设置cookie到2003年1月29号失效;
    c.setMaxAge(365*24*60*60);//一年;

      容量:一般为4k

    session:是存储在服务端的信息,可以存储任何数据;

    适用场景:session又称为会话状态,用于维护浏览器中实例相关的一些信息;例如在开发中要将获取到的用户对象存储到session中;

    生命周期:当浏览器第一次访问服务器时,服务器会生成一个sessionID并发送给浏览器,以及生成session,在tomcat中的默认有效时长是30min;也可以设置有效期或者手动删除                         session;

    安全性:相对cookie更安全;因为如果要访问session,要先获取到cookie中加密的sessionID;

    容量:无限制(但是显然要合理利用) 

    参考网址:https://www.cnblogs.com/zhangkai2237/archive/2012/03/22/2410890.html

    Token:是一种认证方式,“令牌”,根据用户的id和密码生成的唯一的字符串;

    适用场景:用于身份认证;当客户端频繁的从服务端请求数据,导致服务端频繁到数据库核对用户名和密码,此时以设备号/设备mac地址Token,只要客户端持有参数就可以直接请求数据,无需用户名和密码,否则返回错误信息;

    生命周期:当客户端第一次登录后,服务端生成Token,并传给客户端,保存到cookie或local Storage中;

    参考网址:https://blog.csdn.net/cmj6706/article/details/79032703

      

  • 相关阅读:
    SQLSERVER 数据连接字符串
    c#中 间隔两个小时执行一次
    移动开发者的自学宝典:十大在线编程学习网站
    C#j将DataTable转换成List
    C#将list转换为datatable
    SQL Server 高性能写入 摘抄
    解决控制面板删除不了的程序卸载
    卸载SQL 2008 R2 出现警告26003
    删除重复数据
    大数据量数据优化
  • 原文地址:https://www.cnblogs.com/zwwang/p/13512900.html
Copyright © 2011-2022 走看看