首页 > 其他分享 >会话保持 Session和cookie

会话保持 Session和cookie

时间:2022-11-14 16:56:38浏览次数:38  
标签:存储 Session 会话 token session cookie 服务器 客户端

   Session是什么?

            Session在网络中称为会话控制,是服务器为了保护用户状态而创建的一个特殊的对象,简而言之,session就是一个对象,用于存储信息。

 

Session有什么用?

            session是存储于服务端的特殊对象,服务端会为每一个浏览器(客户端)创建一个唯一的Session。这个session是服务器端共享,每个浏览器(客户端)独享的。我们可以在session存储数据,实现数据共享。

 

session的存储形式

          session类似于一个Map,里面可以存放多个键值对,是以key-value进行存放的。key必须是一个字符串,value是一个对象。

 

session的底层机制

         session是每一个浏览器所唯一的,是怎么实现的呢?其实,在访问一个网站时,在http请求时往往会带一个cookie,这个名字是jsessionnid,这个jessionnid表示的就是jession的id,这个由服务器创建的,并且唯一。服务器在使用时,会根据jessionnid来进行不同的操作。

          

当服务端使用session时,首先获取session,这个session通过jsessionid进行获取。

 

 session常用的方法

session和cookie的比较

      cookie存储在客户端 ,session存储在服务端

      cookie作用于他所表示的path中范围较小。session代表客户端和服务器的一次会话过程,web页面跳转时也可以共享数据,范围是本次会话,客户端关闭也不会消失。会持续到我们设置的session生命周期结束(默认30min)

      我们使用session需要cookie的配合。cookie用来携带jsessionnid

       cookie存放的数据量较小,session可以存储更多的信息

       cookie由于存放在客服端,相对于session更不安全

        由于session是存放于服务器的,当有很多客户端访问时,肯定会产生大量的session,这些session会对服务端的性能咋成影响。

 

总结:   session是一个存储于服务器的特殊对象,通过session可以实现数据共享,session有一个jessionnid,这个是session的唯一标识,使用它可以查找到session。session是会话级别的,对于每一个客户端来说独享它所拥有的session的,我们使用session在页面进行跳转,session由服务器控制。session的创建和销毁都是服务器进行管理的,服务器会为每一个客户端创建一个session。

 

token

1.token是啥?

           token,可以翻译为 令牌,本质上他是一个全局唯一的标识符,用来试别唯一的客户端。但它不像cookie和session一样是一种规范,他像是借鉴了他们的工作原理,进而延伸出来的一种维护用户状态的机制。

2.token解决了什么问题?

           token解决了session依赖于单个web服务器的问题。单体应用用户的信息保存在session中,session存在于服务器的内环境中,前前后后用户只是针对一个web服务器,所以没啥问题。但是到了集群环境下, 遇到轮询  登陆了A  下次登陆B 用户体验不好。

           

          我们也完全可以模仿它这种机制:我们可以在用户第一次请求该web服务器时或是用户登录该web服务器时,生成一个全局唯一的token返回给前端存储,同时将该用户信息存到redis中并设置有效期,之后每次请求中都在请求头中带着这个token,服务器端根据这个token到redis中查找对应的用户信息,即得到了我们所说的 "session"。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

              

 

标签:存储,Session,会话,token,session,cookie,服务器,客户端
From: https://www.cnblogs.com/LWHyyds/p/16889505.html

相关文章

  • 篇(11)-Asp.Net Core入门实战-用户登录,记录Cookie,使用Session
    入门实战-用户登录,记录Cookie,使用Session用户登录功能是做项目开发的必备功能,各个业务点中都要读取和使用用户信息,所以用户登录,并记录用户信息可以使用Cookie,Session等功......
  • 一文彻底弄懂Cookie、Session、Token
    前言作为一个JAVA开发,之前有好几次出去面试,面试官都问我,JAVAWeb掌握的怎么样,我当时就不知道怎么回答,Web,日常开发中用的是什么?今天我们来说说JAVAWeb最应该掌握的三个内容。......
  • day16 --> (会话技术(Cookie、Session)、JSP入门)
    今日内容:1、会话技术:1.Cookie2.Sessio2、JSP入门学习 会话技术1、会话:一次会话中包含多次请求和响应。一次会话:浏览器第一次给服务器资源发送请求,会话建立,知道有一......
  • Cookie、sessionStorage、localStorage的区别 ?
    共同点:都是保存在浏览器端的。区别:1.cookie数据始终携带在同源的http请求中,即cookie在浏览器和服务器间来回传递,而sessionStorage和Localstorage不会自动把数据发送给服......
  • 前后端session原理 jwt跨域认证机制 token jwt的应用
    jwt:是目前最流行的跨域认证解决机制 token:用户的信息通过token字符串的形式,保存在客户端浏览器中,服务器通过还原token的形式恢复用户身份jwt有三个部分组成:......
  • Session和Application实现网络在线聊天室实例
    login.aspx代码如下:<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Sample_chat_login.aspx.cs"Inherits="Sample_chart_login"%><!DOCTYPEhtmlPUBLIC"-//......
  • cookie,session,token
    一、cookie1、cookie简介cookie是存储在浏览器的文本数据,大小不超过4kb,有一个名称和值,还有其他的一些属性组成,包括有效期,安全性,适用范围等,某些网站采用session机制识别用......
  • 前后端session原理 cookie是什么 session中间件
    cookie  由name和value值组成    cookie不具有安全性!!!不能用cookie存储用户的隐私敏感数据 安装session中间件  ......
  • Spring_Session解决Session共享的问题(二十三)
    二八佳人体似酥,腰间仗剑斩愚夫。虽然不见人头落,暗里教君骨髓枯。愿世人皆有所爱,皆可以爱。上一章简单介绍了SpringBoot整合Ehcache缓存(二十二),如果没有看过,​​请观看上......
  • 记一次HTTPClient模拟登录获取Cookie的开发历程
    记一次HTTPClient模拟登录获取Cookie的开发历程环境:​ springboot:2.7​ jdk: 1.8​ httpClient:4.5.13设计方案​ 通过新建一个空的cookie库创建出一个Http客户......