zoukankan      html  css  js  c++  java
  • session 跟 cookie 关系

    面试经验:
    谈到Session的时候就侃Session和Cookie的关系:Cookie中的SessionId。
    和别人对比说自己懂这个原理而给工作带来的方便之处。
     
    session 跟 cookie 关系 - hzh - The Legend of 1900
     
    客户第一次发送请求给服务器,此时服务器产生一个唯一的sessionID,并返回给客户端(通过cookie),此时的cookie并没有setMaxAge();只是保存于客户端的内存中,并与一个浏览器窗口对应着,由于HTTP协议的特性,这一次连接就断开了
    以后此客户端再发送请求给服务器的时候,就会在请求request中携带cookie,由于cookie中有sessionID,所以服务器就知道这是刚才那个客户,从而区分不同的人,购物车就是这样实现的
    举 个简单例子就像人们去超市购物,去存包,第一个去的时候(客户第一次发送请求给服务器),超市会给你一个号码牌(此时服务器产生一个唯一的 sessionID,并返回给客户端(通过cookie)),你可以在你自己的柜子里存东西(在服务器属于此客户的内存区域存数据),下次你再去的时候, 拿着这个号码牌(请求request中携带cookie),超市就知道哪些东西是你的,然后给你取出来,如果你几天都没去取(session失效了,在服 务器端配置),你再去的时候东西就拿不到了
    如果你把这个号码牌丢了(刚才的cookie失效了,比如你重启电脑,刚才存于内存中sessionID也就丢了),再去拿东西,当然无法定位了,也就拿不到东西了
    如果是新打开一个浏览器的情况,那就像是又一个人去超市存东西一样,你的东西跟他的东西是两码事,互不影响,他有他自己的sessionID,你有你自己的

    以下是我用firefox中的firebug测试结果
    第一次请求时:(注意,访问jsp时会自动创建sessionID,而访问Servlet,需要你自己写代码才会创建sessionID)
    session 跟 cookie 关系 - hzh - The Legend of 1900
     可以看到服务器给我们分配了一个sessionID,随着响应返回给客户端

    第二次请求时:
    session 跟 cookie 关系 - hzh - The Legend of 1900
     之后请求时,客户端都会携带这个sessionID,以便服务器能辨认
  • 相关阅读:
    正则表达式中的贪婪模式与非贪婪模式详解
    关于Python中正则表达式的反斜杠问题
    每日思考记录(1)
    软件设计——2018年上半年选择题重要知识点
    统一过程UP
    软件设计复习7
    软件设计复习6
    软件设计复习5
    软件设计复习4
    软件设计复习3
  • 原文地址:https://www.cnblogs.com/joean/p/4609253.html
Copyright © 2011-2022 走看看