session、cookie、token详解

授权:给客户端授予权限

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

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是预先设置生存周期
posted @ 2022-09-01 19:33  小情绪1999  阅读(63)  评论(0编辑  收藏  举报