Session是什么东西

虽然经常做的C++,Web 写的少,但是这个知识在面试中经常遇到,现在就记录一下。

Web的三个概念: Session 、 cookie、 application。

Session 和 Cookie 功能效果是差不多的,区别就是session 是记录在服务端的,Cookie是记录在客户端的。都是记录一系列状态的。

  1. session是服务端存储,cookie是浏览器端存储
  2. Cookie是把用户的数据写给用户的浏览器。
  3. Session技术把用户的数据写到用户独占的session中。
  4. Session对象由服务器创建,开发人员可以调用request对象的getSession方法得到session对象。

Session解释: 当访问服务某个网页的时候,会在服务器端的内存开辟一块内存,这块内存就叫做session,而这个内存是跟浏览器关联在一起的。这个浏览器指的是浏览器窗口,或者是浏览器的子窗口,意思就是,只允许当前这个Session对应的浏览器访问,就算是在同一个机器上新启动的浏览器也是无法访问的。而另外一个浏览器也需要记录session的话,就会再启动一个属于自己的session。

另一种解释:在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下)。因此,在需要保存用户数据时,服务器程序可以把用户数据写到用户浏览器独占的session中,当用户使用浏览器访问其它程序时,其它程序可以从用户的session中取出该用户的数据,为用户服务。

原理:HTTP协议是非连接性的,取完当前浏览器的内容,然后关闭浏览器后,链接就断开了,而没有任何机制去记录取出后的信息。而当需要访问同一个网站的另外一个页面时(就好比如在第一个页面选择购买的商品后,跳转到第二个页面去进行付款)这个时候取出来的信息,就读不出来了。所以必须要有一种机制让页面知道之前页面的内容。

Session实现原理: 当服务器创建完session对象后,会把session对象的id以cookie形式返回给客户端。这样,当用户保持当前浏览器的情况下再去访问服务器时,会把session的id传给服务器,服务器根据session的id来为用户提供相应的服务。

问题:如何知道浏览器和这个服务器中的session是一一对应的呢?又如何保证不会去访问其它的session呢?

原理解答:就是当访问一个页面的时候给浏览器创建一个独一无二的号码,也给同时创建的session赋予同样的号码。这样就可以在打开同一个网站的第二个页面时获取到第一个页面中session保留下来的对应信息(理解:当访问第二个页面时将号码同时传递到第二个页面。找到对应的session。)。这个号码也叫sessionID,session的ID号码,session的独一无二号码。

session的两种实现方式(也就是传递方式):第一种通过cookies实现。第二种通过URL重写来实现

第一种方式的理解:就是把session的id 放在cookie里面(为什么是使用cookies存放呢,因为cookie有临时的,也有定时的,临时的就是当前浏览器什么时候关掉即消失,也就是说session本来就是当浏览器关闭即消失的,所以可以用临时的cookie存放。保存再cookie里的sessionID一定不会重复,因为是独一无二的。),当允许浏览器使用cookie的时候,session就会依赖于cookies,当浏览器不支持cookie后,就可以通过第二种方式获取session内存中的数据资源。

在这里插入图片描述

第二种方式的理解:在客户端不支持cookie的情况下使用。为了以防万一,也可以同时使用。
在这里插入图片描述

如果不支持cookie,必须自己编程使用URL重写的方式实现。
如何重写URL:通过response.encodeURL()方法
encodeURL()的两个作用

第一个作用:转码(说明:转中文的编码,或者一些其他特殊的编码。就好比如网页的链接中存在中文字符,就会转换成为一些百分号或者其他的符号代替。)

第二个作用:URL后面加入sessionID,当不支持cookie的时候,可以使用encodeURL()方法,encodeUTL()后面跟上sessionID,这样的话,在禁用cookie的浏览器中同时也可以使用session了。但是需要自己编程,只要链接支持,想用session就必须加上encodeURL()。

提示:若想程序中永远支持session,那就必须加上encodeURL(),当别人禁用了cookie,一样可以使用session

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1620188.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Python—Session

python中session()是干什么作用的_session是什么意思 Session:在计算机中,尤其是在网络应用中,称为“会话控制”。Session 对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的 Web 页之间跳转时,存储…

彻底弄清楚session是什么?

前言: 今天就来彻底的学一些session是个啥东西,我罗列了几个需要知道的要点: 1.session 是啥? 2.怎么保存的? 3.如何运行? 4.有生命周期吗? 5.关闭浏览器会过期吗? 6.redis代替文…

浅谈 Cookie 和 Session

理解Cookie理解Session核心方法案例-网页登录1. 编写一个简单的登录页面2. 编写一个 Servlet 来处理这个登录请求3. 编写服务器返回主页的逻辑4. 启动服务器验证 Cookie 和 Session 区别 理解Cookie 在前面的 HTTP 协议中,也理解过这个 Cookie,HTTP 协议自身是属于 “无状态”…

session是什么?

目录: 1.session 是啥? 2.怎么保存的? 3.如何运行? 4.有生命周期吗? 5.关闭浏览器会过期吗? 6.Redis代替文件存储session 7.分布式session的同步问题 session是啥? 首先,我大致的…

什么是session?

最近在学习node.js 的express框架,接触到了关于session方面的内容。翻阅了一些的博客,学到了不少东西,发现一篇博文讲的很好,概念内容摘抄如下: Session是什么 Session一般译作会话,牛津词典对其的解释是…

session的到底是做什么的?

前言: 今天就来彻底的学一些session是个啥东西,我罗列了几个需要知道的要点: 1.session 是啥? 2.怎么保存的? 3.如何运行? 4.有生命周期吗? 5.关闭浏览器会过期吗? 6.Redis代替文…

Session(超详细)

Session 会话 1.什么是 Session 会话? Session 就一个接口(HttpSession)。Session 就是会话。它是用来维护一个客户端和服务器之间关联的一种技术。每个客户端都有自己的一个 Session 会话。Session 会话中,我们经常用来保存用户登录之后的…

Session详解(重点)

什么是Session: (1)服务器会给每一个用户(浏览器)创建一个Session对象 比如我们现在都去访问百度,我们使用双核浏览器和谷歌浏览器同时访问百度这个网址,百度那边会有两个session,因为浏览器不一样&#x…

Session原理

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 开发工具与关键技术:Java,HTTP协议,session原理 撰写时间:2019-06-17 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~…

Session详解

Session(重点) 什么是Session: 服务器会给每一个用户(浏览器)创建一个Session对象一个Session独占一个浏览器,只要浏览器没有关闭,这个Session就存在用户登陆之后,整个网站它都可以访问–>保存用户的信…

Session详解,学习Session,这篇文章就够了(包含底层分析和使用)

说明:下面介绍session,我们使用到了游览器抓包,http的知识,如果不了解,请先简单了解下。http介绍,http请求,http响应。因为cookie和session是一对”好兄弟“,我们介绍session也要使用…

移动端VIN码识别技术的出现,为汽配供应链带来便捷

汽配供应链作为汽车后市场一大蓝海,成为众多商家的“必争之地”。在现今人工智能大数据的大环境下,拥抱科技,运用人工智能技术构建智能化数据平台成为提升企业行业竞争力的首选。 VIN码即车架号就是汽车的唯一的身份证,汽车从下线…

harrier 查看查看服务器状态,机油尺检查细节多多,嘉普力汽配工场教你如何正确查看机油尺...

平常我们总是说烧机油、机油消耗、机油增多,很多车主都快得"机油恐惧症"了,时刻担心自己的机油出现问题。既然担心就要查机油,那么你会看机油尺吗?今天,嘉普力汽配工场就教车主朋友们如何正确查看机油尺。 机…

汽车汽配行业B2B电子商务系统营销渠道自动化,综合提升B2B平台交易效率

汽车工业作为国家制造业的支柱之一,是衡量国家工业水平的基本指标。不断完善汽车工业整体的行业规范,促进汽车工业更稳定、更健康的发展,才能有效提升汽车工业的经济作用及影响力。 4S店模式,作为我国一直以来最主要的汽车销售模…

数商云采购系统对账结算功能介绍 | 缩短汽配企业结算周期,提高资金周转效率

近年来随着市场饱和度增加、竞争加剧,特别是信息技术的广泛发展,造成相当程度的平衡打破,使得通过平台化提升汽配供应链整体效率并建立主体间信任的可塑性增强,汽配供应链迎来新的变局。 作为名副其实的中小企业,汽配…

《汽修汽配管理系统——“汽修管理”模块》项目研发阶段性总结

完成模块功能:汽修管理(预约维修,客户接待,售后服务) 一、 功能实现 汽修管理主要包括预约维修,客户接待,售后服务 预约维修见图一, 该页面可查看老客户的资料,也可对第…

汽车汽配行业智慧供应链系统:提升企业效率,构建SCM平台数字化优势

过去几年,中国汽车产业经历了快速的发展阶段,已经成为全球最大的汽车市场。其中,汽车产业链、供应链有序、畅通的运转对中国汽车行业保持健康平稳发展起到了重要的支撑作用。随着新一轮技术革命到来,中国汽车供应链正面临着无限的…

汽车汽配行业经销商协同系统:实现汽配经销商销售管理全流程数字化

汽车经销商是从事汽车交易,取得汽车所有权的中间商。对于汽车制造企业而言,经销商是重要的资源,如何占有更多的经销商,是决定汽车企业市场开拓能力及成败的关键。随着国内汽车市场的竞争愈加激烈,汽车企业想要站稳脚跟…

成都榆熙教育:拼多多新手开店商品类目怎么选择?

拼多多成立至今已经快6年了,它的发展也是迅猛,某宝用了十几年获得的成就,它仅用6年时间就进行了超越,成为了国内前三的电商平台,因此也吸引了越来越多的个体户和商业户入驻,那么如何开一个拼多多店铺和会花…

百炼智能店店通(车后版)亮相2021AMR北京国际汽保汽配展 开启门店渠道拓展新时代

4月23-27日,由法兰通联展览(北京)有限公司主办的2021中国汽车服务产业新趋势千人大会和2021AMR北京国际汽车维修检测诊断设备、零部件及美容养护展览会(简称AMR北京国际汽保汽配展)落下帷幕。2021年展会展出规模达90,000平方米,为期四天的展期吸引952家参…