电子商务|通俗讲解Cookie-Session机制

电子商务|通俗讲解Cookie-Session机制

cookie session 机制在面试中经常会问到 , 很多人回答得不好 , 大部分人能说出session是用来验证用户身份的 , 但说不出cookie和session之间有什么关系 。 我分析原因主要是大家对cookie session的运作原理不够了解 。 下面我来通俗的讲解一下cookie session的运作原理 。 下面的内容比较浅显 , 主要是面向初学者面试时使用的 , 各路高手、大神请自觉划走 。
【电子商务|通俗讲解Cookie-Session机制】cookie和session的基本概念:
Cookie是一小段存储在浏览器端的文本数据 , 大小不超过4KB 。 发送网络请求的时候 , Cookie会在请求头里一起发送给服务器端 。
Session对象是存储在服务器端的 , 主要用来存储用户会话数据 。 SessionID需要存储在浏览器端 , 通常存储在Cookie里 , 浏览器发送接口请求的时候需要带着这个SessionID 。 这样服务器端就可以根据这个SessionID找出当前请求的用户是谁了 。 Session一般都会配置一个过期时间 , 比如30分钟 , Session过期之后用户就需要重新登陆了 。
打个比方 , 我们每个人都有一个身份证 , 去政府部门办事的时候都需要出示身份证 , 工作人员会对你的身份证进行核验 , 确认真伪之后才给你办理业务 。 这个过程和Session验证用户身份的机制很像 , 你就相当于浏览器Cookie , 身份证就相当于SeesionID , 你要去办事的政府部门就相当于后台接口 , 他们对你的身份证进行核验就相当于比对你的SessionID 。
那么用户没有登陆的时候有没有SessionID呢?也是有的 。 就相当于你刚出生还没有办理身份证 , 医院会开一个出生证明给你 , 这个出生证明也相当于SessionID , 去政府部门办事也要带着这个出生证明 。
身份证是有有效期的 , 过期之前必须要更换 , 同理Cookie和Session也是有有效期的 , 当然这个有效期是我们程序员根据业务需要来规定的 。
关于Cookie和Session的学术解释 , 我这里就不讲了 , 大家需要的话可以自己去搜索 。

    相关经验推荐