JAVAWEB之Cookie与Session的简单理解
声明:主要是我自己的一个简单形象的理解。如果有什么地方不对,希望大家指出,谢谢!!
cookie
从最常见的应用场景介绍:第一次登录,记住密码,下一次再来的时候就不用登陆了。
cookie就是为了存储用户的登录信息,并且存储到用户本地,然后再次进行服务器访问
的时候,服务器就会从客户端的cookie中寻找账户信息,如果有,就说明“这位用户之前来过
,而且还进行记住密码操作了,行,过!”,如果用户第一次来,服务器一看连个cookie都没有
,然后就让用户输入账户,用户随手点击“记住我”,这样服务器就会创建一个含有这个用户信
息的cookie,并把这cookie交给这个用户,用户就会存起来,下次来就不用了登陆了。
补充例子
健身房办卡:头一次,肯定是新人(没有cookie),然后健身房(服务器)给你办一张卡(cookie,
里面存上你的账户信息)并交给你你把它保存起来(存到本地)。每次来认证一下就能健身了。
session
session表示会话。客户,从访问浏览器到关闭浏览器(跳页面,转连接,点点,等等请求服务器)。
但是关闭浏览器服务器的session并不会立即销毁(除非服务器停止工作),有服务器的默认存活时间。
健身房健身:从进入健身房开始,到走出健身房。
假设已经办卡了(cookie中有客户的名字了)。
一进健身房(请求服务器),服务员(服务器)会给一个储物柜的钥匙(JsessionId)。练着练着,
哎呀,热了,脱件衣服放进储物柜(请求服务器),自己拿着钥匙(服务器创建的JSessionID)放
进储物柜,又练了一会,哎呀渴了,不行得喝点水,拿着钥匙 (JSessionID)开储物柜,拿水瓶子
喝水。............................最后健完身走出健身房(钥匙归还健身房,自己的JsessionId至此也就无了,
再来健身放的时候还得拿个新的钥匙(JsessionId))。
session关于健身的一个小总结:
每次要喝水,要存东西都是向服务器请求的行为,都得拿着钥匙(JsessionID)
向橱子(服务器)发送请求。
参考文章
关于cookie和session的详细解释还有案例
一个java教程里面的举的例子,cookie和session在一起