session、cookies、tonken三者的定义

  • session
  • 什么是session:session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构(也可能就是使用散列表)来保存信息。(存储在服务端,如果过多的话会产生服务端性能问题)在计算机中,尤其是在网络应用中,称为“会话控制”。Session 对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象。当会话过期或被放弃后,服务器将终止该会话。
  • 创建:sessionid第一次产生是在直到某server端程序调用 HttpServletRequest.getSession(true)这样的语句时才被创建。
  • 删除:超时;程序调用HttpSession.invalidate();程序关闭;
  • session存放在哪里:服务器端的内存中。不过session可以通过特殊的方式做持久化管理(memcache,redis)。
  • session的id是从哪里来的:sessionID是如何使用的:当客户端第一次请求session对象时候,服务器会为客户端创建一个session,并将通过特殊算法算出一个session的ID,用来标识该session对象
  • session会因为浏览器的关闭而删除吗?不会,session只会通过上面提到的方式去关闭。
  • cookie
  • 什么是cookie:HTTP协议本身是无状态的。什么是无状态呢,即服务器无法判断用户身份。Cookie实际上是一小段的文本信息(key-value格式)。客户端向服务器发起请求,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie。客户端浏览器会把Cookie保存起来。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器检查该Cookie,以此来辨认用户状态。
  • 创建:当用户第一次访问并登陆一个网站的时候,cookie的设置。(创建过程:客户端发送一个请求到服务器 --》 服务器发送一个HttpResponse响应到客户端,其中包含Set-Cookie的头部 --》 客户端保存cookie,之后向服务器发送请求时,HttpRequest请求中会包含一个Cookie的头部 --》服务器返回响应数据)
  • 删除:过期;手动删除;
  • cookies存放在哪里:浏览器上(的txt文件)
  • token:
  • 什么是token:Token 是在服务端产生的。如果前端使用用户名/密码向服务端请求认证,服务端认证成功,那么在服务端会返回 Token 给前端。前端可以在每次请求的时候带上 Token 证明自己的合法地位。如果这个 Token 在服务端持久化(比如存入数据库),那它就是一个永久的身份令牌。(是服务端生成的字符串)
  • 创建:第一次登陆认证由服务端生成
  • 删除:过期
  • 存放位置:可以cookie可以localstorage

 

CookieSession、Token 都是 Web 应用程序中用于用户身份验证的机制。它们的区别如下: 1. Cookie: Cookie 是存储在客户端浏览器的文本文件中的一小段数据。服务器通过在响应头中设置 Set-Cookie 头将其发送到客户端。浏览器在以后的每个请求中都会将 Cookie 作为请求头发送到服务器。服务器可以使用 Cookie 来识别用户身份并提供个性化的响应。Cookie 可以设置过期时间,这意味着浏览器将在过期时间之前保留 Cookie,并在每个请求中发送它。 2. Session: Session 是一种在服务器端存储用户信息的机制。当用户成功登录后,服务器会为用户创建一个会话,并将会话 ID 存储在 Cookie 中。在接下来的每个请求中,浏览器将会话 ID 作为请求头发送到服务器。服务器使用该 ID 来查找该用户的会话,并在会话中存储用户信息。与 Cookie 不同,Session 数据存储在服务器上,因此更安全。Session 也可以设置过期时间。 3. Token: Token 是一种基于令牌的身份验证机制。它是一段加密的字符串,包含有关用户身份的信息。当用户通过身份验证后,服务器会将 Token 发送回客户端。客户端将 Token 存储在本地存储或 Cookie 中,并在以后的每个请求中将其发送到服务器。服务器使用 Token 验证用户身份,并提供相应的响应。与 CookieSession 不同,Token 不需要在服务器上存储用户信息,这使得 Token 身份验证更加可扩展和安全。Token 也可以设置过期时间。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值