zoukankan      html  css  js  c++  java
  • token、cookie、session的区别

    一、三者的定义

    Cookie是浏览器用来保存用户信息的文件,可以保存比如用户是谁,购物车有哪些商品等。

    Session是一次会话,会话是指我们访问网站的一个周期。

    比如用户打开一个浏览器访问某个位的站点。
    在这个站点点击多个超链接查看各个网页,然后关闭浏览器,整个过程称之为一个会话。
    token是服务器返回的一个临时签名数据, 可以使用这个签名数据表面用户身份. 

    为什么会有这三个东西呢?  都是一个目的, 服务器需要知道和自己通话的人是谁, 专业一点就是 服务器需要用某种机制来识别具体的用户.

    这要从HTTP协议开始说起, HTTP协议是无状态的协议。一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接。这就意味着服务器无法从连接上跟踪会话, 自然无法识别用户, 所以诞生了Cookie,session和token

    二、三者的比较

    cookie : 

    1. cookie由服务器生成,保存在客户端浏览器。

    2. 容易被劫持,不安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗。

    3. cookie可以被用户禁止

    4. 容量小, 单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

    session

    1. session是由应用服务器维持的一个服务器端的存储空间, 没有对存储的数据量的限制,可以保存更为复杂的数据类型.

    2. session 默认被存在在服务器的一个文件里, 但是实际中可以放在 文件、数据库、或内存中都可以。

    3. 当用户量增多时,会对服务器造成较大压力。

    4. Session的实现方式大多数情况用Cookie保存的,但是也可以使用URL地址重写。

    5. 较安全,用户验证这种场合一般会用 session, 比如金融银行类的产品, 

    token

    1.无状态、可扩展

    2.支持移动设备

    3.跨服务器调用

    4.安全

    每天坚持学习1小时
  • 相关阅读:
    正交相机下实现滚轮按钮拖动,滚动滚轮缩放的功能
    C#标记 [已弃用] 的方法
    JDBC-Mybatis-Hibernate
    Data Structures and Algorithm Analysis in Java
    Maven
    Java面试
    Bootstrap
    CSS3
    HTML5
    JSON
  • 原文地址:https://www.cnblogs.com/yayazhang221/p/14673213.html
Copyright © 2011-2022 走看看