Cookie与Session

 Http协议: 

         因为http协议的无状态性,每一次的请求都只是单次的“请求/响应”,为了保持http协议链接的状态,就有了Cookie与Session机制来进行保存这种状态,

Cookie:

          cookie由服务端生成,new 一个 cookie,第一次请求的时候,服务器将cookie作为响应发送给客户端,客户端可以设置过期的时间,如果没有设置,cookie就保存在客户端的缓存中(内存),cookie是一个键值对,

Session:

          服务器有一个session列表,以map的数据结构进行存储,当客户端第一次请求的时候,requist,getSession(),会生成一个Session对象,同时生成一个随机的字符串作为key,session,setAttribute(),将请求的账号等信息封装到session对象中,Session作为value进行服务器端(内存)的存储,同时将32位的随机串包装成Cookie发送到客户端,等到客户端第二次请求的时候,将Cookie作为请求的头,发送到服务器,服务器会进行Jsession的比较,在session列表中来找value,session会在过期之前,将session中的数据写到数据库中,(再一次会话中,淘宝的购物车添加商品,将商品保存在session中,再写到数据库中)

 用户在浏览器禁用Cookie:

    重定向时禁用Cookie

          如果用户在浏览器禁用Cookie,Response.encodeRedictUrl()的时候,设置一下uri的编码,默认的会在地址栏中进行拼接;jsession=。。。。。,

    非重定向时禁用Cookie

        如果用户在浏览器禁用Cookie,Response.encodeUrl()(href引用)的时候,设置一下uri的编码,默认的会在地址栏中进行拼接;jsession=。。。。。,

 

 补充:  

        对于用户来说,浏览器的关闭是一次会话,但是真正的一次会话是Session失效,(cookie禁用之后)第一次打开浏览器,服务器会生成一个cookie,第二次打开浏览器将第一次的jsession拼装在url后面也是可以的,就获取了你的登录的信息了,;jsession=...,

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值