首页 > 其他分享 >Cookies和Session

Cookies和Session

时间:2023-12-05 16:55:39浏览次数:34  
标签:Cookies 浏览器 Session sessionID session cookie

Cookies和Session都是为了解决HTTP协议无状态性而引入的技术,它们用于在多个请求之间保持用户状态。

Cookies存储在客户端;

Session存储在服务器端;

两者怎么联系使得http保持了用户状态呢?

其实服务器首先创建session,生成sessionID,并通过cookie返回给了浏览器,这样浏览器就获得了sessionID,以asp.net core为例,生成的cookie名称默认是.AspNetCore.Session,当然也可以自定义名称;

由于session可也设置空闲超时时间,所以如果浏览器一段时间不操作,session就过期了,浏览器再用这个sessionID请求就失败了;

还有一种场景是关闭浏览器立即就要重新登录,这种场景是通过设置cookie为非持久化的方式,上面说了,sessionID是放在浏览器的cookie里的,把存放sessionID的cookie设为非持久化的,浏览器关闭时,这个cookie就没了,自然就无法带上sessionID,虽然实际上session在服务端还存在着,所以session一般要设置过期时间(空闲超时时间),以及定期清理过期session的机制,一般可采用redis存储session,因为redis自带过期机制,防止session越来越多占用太多资源。

标签:Cookies,浏览器,Session,sessionID,session,cookie
From: https://www.cnblogs.com/lumingprince/p/17877641.html

相关文章

  • Servlet Session基本概念和使用方法,获取Session对象: 在Servlet中,可以使用HttpServletR
    ServletSession基本概念和使用方法,获取Session对象:在Servlet中,可以使用HttpServletRequest对象的getSession()方法来获取当前请求的Session对象目录Session介绍Session使用步骤Session示例LoginServletsuccess.jspfailure.jspSession介绍Session是Web开发中的一种机......
  • java中http请求中sessionID的生成方式
    java中http请求中sessionID的生成方式今天的笔记是为了搞清楚4个问题,搞清楚这四个问题,那么我工作上的困难也就解决了。1).sessionId是在什么地方生成的?2).sessionId的生产规则是怎么样的?3).sessionId存储在哪里?4).sessionId可以如何获取?它是在容器里面生成的,spingBoo......
  • Python中用requests处理cookies的3种方法
    在接口测试中,大多数项目的接口是需要登录后进行操作的,经常用到requests库进行模拟登录及登录后的操作,下面是我不断踩坑后总结出来的关于登录凭证cookies的3种操作方法。一.用requests.utils.dict_from_cookiejar()把返回的cookies转换成字典1.处理cookies:importreques......
  • 京东面试:说说Cookie、Session和Token的区别?
    东子作为目前传统电商三巨头之一(其他还有阿里巴巴和拼多多),其面试题的难度也中规中矩,总体来说没有其他两家面试难度高,当然薪资也没有其他两家薪资高。其中拼多多的薪资最为离谱,尤其是前几年,听说挖同行的开发人员,薪资可以开到原来薪资的两到三倍,真是变态(但是我喜欢)。东子的面试题......
  • Servlet - 使用 changeSessionId() 改变SessionId 防止会话固定攻击
    Servlet-使用changeSessionId()改变SessionId防止会话固定攻击在会话固定攻击,黑客获取/设置(通过任何方式)另一个人的会话ID。然后,黑客可以冒充他人并获取敏感信息。JavaServlet3.1引入了以下HttpServletRequest方法:StringchangeSessionId()此方法将当前会话id更......
  • java 令牌解析_SpringSecurity 原理解析【4】:令牌还原与Session String changeSessio
    java令牌解析_SpringSecurity原理解析【4】:令牌还原与SessionStringchangeSessionId();//修改SessionIdSpringSecurity原理解析【4】:令牌还原与SessionSession:一般称为会话,不同环境中含义不同,在SpringSecurity中一个会话指:客户端从令牌认证请求到登出注销请求之间的......
  • web中两种登录状态保存方式:JWT和Session
    由于http是无状态的,也就是说上一次请求和下一次请求之间没有任何关联。那如何实现登录状态的保存呢?一般使用两种方案:服务端存储的session+cookie的方案客户端存储的jwttoken的方案但是这两种方式都有各自的缺点。服务端存储的session+cookie给http加状态,那就给每个......
  • 存储机制(Window.sessionStorage 和 Window.locaStorage)
    <!DOCTYPEhtml><html><head><metacharset="utf-8"><title>webStorage</title><!--1.存储内容大小一般支持5MB左右(不同浏览器可能不一样)2.浏览器通过Window.sessionStorage和Window.locaStorage属性来实现本地存储机制3.相关API:1.XXXXXStorage.setItem('......
  • cookie和session的区别?一文讲透
    一、问题cookie和session的区别? 二、回答1、总结如下-cookie: -cookie存储于客户端本地,即浏览器缓存 -cookie存储着sessionId,作为后台session缓存的主键,可以快速识别用户身份,减少后台请求 -问题:数据量较小,不适合存储大数据,如有些图片很大就支撑不了 -问......
  • keycloak~关于session idle和session max的解释
    keycloak可以帮助我们实现这个功能:用户token每5分钟失效一次,失效后通过refresh_token来换新的token,而refresh_token每30天失效一次,但如果用户3天都没有任何操作(就是没有用refresh_token去换新的token),那么3天后也让refresh_token失效,用户需要从新去登录。先说refresh_token过期时......