zoukankan      html  css  js  c++  java
  • Cookie/Session/Token对比

    一、Cookie

    1. HTTP服务器是无状态的,不会记录上下文

    2. Cookie是服务器生成,放在客户端存储

    3. 用于识别用户

    4. Cookie的安全机制:Max-Age/Domain/HttpOnly/Secure/Path等属性

    5. Java中使用Cookie类

    二、Session

    1. 关键信息(比如账号密码)不能存储在客户端,因为可能被拦截

    2. Session把关键内容存储在服务器端的ConcurrentHashMap中,SessionId存储在客户端的Cookie里

    3. Session过期机制:

    a. 客户端:和Cookie一致

    b. 服务器端:默认30分钟

    4. Session是由tomcat/jetty等服务器容器管理的,如果有多台服务器,需要分布式Session,例如Redis存放Session

    5. Java中使用HttpSession类

    三、Token

    1. 服务器将用户信息经过Base64Url编码,传给客户端,客户端使用Json的格式保存

    2. 每次客户端请求的时候,都会通过url/http头/post参数带上这段信息

    3. 与Session比较,由于客户端有数据,不需要后台服务器的分布式处理

    4. Json Web Token由三部分组成,这三部分拼接成一个字符串

    a. header:用来描述JWT

    b. payload:用来存放实际需要传输的数据

    c. signature:用来对上面的数据加密

    5. Java中使用JwtBuilder类

    参考:

    https://mp.weixin.qq.com/s/aNzWtwxrbudRkBNluOXo1w

  • 相关阅读:
    算法训练 区间k大数查询
    算法训练 最大最小公倍数
    身份证号码升级
    python包与模块导入
    python函数
    HDU 3595 博弈论,被支配的恐惧
    BZOJ 3195 [Jxoi2012]奇怪的道路
    大暑假集训
    [Poi2010]Monotonicity 2
    BZOJ 4868 HEOI 期末考试
  • 原文地址:https://www.cnblogs.com/june0816/p/6767598.html
Copyright © 2011-2022 走看看