首页 > 其他分享 >session、cookie、token详解

session、cookie、token详解

时间:2022-09-01 19:45:06浏览次数:58  
标签:浏览器 Session token session cookie 服务器 客户端

授权:给客户端授予权限

鉴权:鉴定是否有访问权限

1、会话

会话跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份Session通过在服务器端记录信息确定用户身份

会话:一个用户的所有请求操作。由于http是无状态协议,一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接。这就意味着服务器无法从连接上跟踪会话,所以需要引入一种机制,来判断是否是同一会话

2、cookie

cookie工作原理:客户端登录,服务器检查账号是否正确,正确就创建一个cookie对象,并且返回给浏览器,浏览器存储cookie,等再次发出请求时,浏览器将cookie一同发送给服务器,服务器检查cookie

3、session

session:Session是另一种记录客户状态的机制,不同的是Cookie保存在客户端浏览器中,而Session保存在服务器上。客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上。这就是Session。客户端浏览器再次访问时只需要从该Session中查找该客户的状态就可以了。Session相当于程序在服务器上建立的一份客户档案,客户来访的时候只需要查询客户档案表就可以了

session原理:每登录一个用户,服务器就会记录下用户的信息,并返回sessionId

当再次访问时,就可以根据服务器端的session表,判断用户是否登录

 

 4、token

引入:客户端频繁向服务端请求数据,服务端频繁的去数据库查询用户名和密码并进行对比,判断用户名和密码正确与否,并作出相应提示,在这样的背景下,Token便应运而生。

Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。

token保存在客户端,并且进行了加密,保证了数据的安全性

目的:Token的目的是为了减轻服务器的压力,减少频繁的查询数据库,使服务器更加健壮。

cookie和token的区别(面试题)

cookie和session的区别(面试题)

  • cookie存储在客户端,是可见的。session存储在服务端,对客户端是不可见的
  • cookie不是很安全。session相对来说比较安全
  • session会在一定时间保存在服务器,比较占内存
  • 生存周期不同,session随着浏览器关闭就消失.cookie是预先设置生存周期

标签:浏览器,Session,token,session,cookie,服务器,客户端
From: https://www.cnblogs.com/zx19/p/16044769.html

相关文章

  • cookies加密__搜狗微信
    #coding=utf-8importrequestsfromlxmlimportetreeimportreimportrandomimportjsonfromurllibimportparsedefget_cookie(response1,uigs_para,UserAgent):......
  • Flask 学习-31.flask_jwt_extended 验证token四种方headers/cookies/json/query_stri
    前言用户携带授权token访问时,其jwt的所处位置列表,默认是在请求头部headers中验证。可以通过JWT_TOKEN_LOCATION进行全局配置,设置token是在请求头部,还是cookies,还是json,......
  • session(重点)
    JSP......
  • Flask 学习-30.flask_jwt_extended 自定义 token 过期返回内容
    前言flask_jwt_extended插件使用,当token过期的时候,默认返回401UNAUTHORIZED{"msg":"Tokenhasexpired"}@jwt.expired_token_loader设置一个回调函数,以便在过期时返......
  • Flask 学习-26.JWT(JSON Web Token)生成Token
    前言JSONWebToken(JWT)是一个非常轻巧的规范。jwt广泛应用在系统的用户认证方面,特别是现在前后端分离项目。python中pyjwt是一个独立的包,flask的插件集成了该功能可......
  • js-cookie.js的使用
    js-cookie.js的使用3种引入js-cookie.js的方法:一.直接引用cdn:<scriptsrc="https://cdn.jsdelivr.net/npm/js-cookie@2/src/js.cookie.min.js"></script>二.本地下......
  • mybatis_13_SqlSessionFactory的DCL单例模式
    SqlSessionFactory的DCL单例模式 publicclassSqlSessionFactorySingleton{privateSqlSessionFactorySingleton(){}/***volatile关键字在此......
  • JSON WEB TOKEN
    1、JSONWEBTOKEN1.1、什么是JWTJSONWebToken(JWT)是一个非常轻巧的规范。这个规范允许我们使用JWT在用户和服务器之间传递安全可靠的信息。简称JWT,在HTTP通信过程中,进......
  • 火狐手动修改Cookie(非代码方式)
    步骤在指定网站打开开发者工具切换到储存选项卡储存选项卡选择要设置cookie的域名在右侧加号进行设置cookie修改key与value即可生效,然后刷新页面即可......
  • 关于 Spring Security 携带 token 反而 403 的问题
    https://www.cnblogs.com/liouzeshuen/p/16198795.html 某个目录下允许不登录访问.antMatchers("/activity/index").anonymous()但是传了token反而报403改成.antMatc......