Cookie与Session的原理和应用以及区别

Cookie与Session的原理和应用以及区别 

Cookie与Session的原理和应用以及区别

一、cookie

        1、Cookie原理:

        2、Cookie应用:

        3、Cookie语法:

二、session

        1、Session原理:

        2、Session应用:

        3、Session语法:

三、cookie和session的区别

一、cookie

1、Cookie原理:

Cookie是一种会话链接技术,客户端请求服务器时,如果服务器需要记录该用户的信息,就使用response向客户端发送一个Cookie。但客户端会把Cookie保存起来。当浏览器再请求服务器时,浏览器把请求的网址连同该Cookie一同提交给服务器。Cookie是一键值对的形式保存在客户端服务器上,服务器通过检查该Cookie来获取用户信息。

2、Cookie应用:

我们在浏览器中,经常涉及到数据的交换,比如你登录邮箱,登录一个页面。我们经常会在此时设置15天内记住我或者自动登录选项。在用户第一次访问该网站的时候会弹出记住账户密码的提示框,点击提示框后在下一次登录网站的时候就不用再次输入账号密码。超市积分卡也是这样,同过保存用户信息,来保存每次购物的积分。

3、Cookie语法:

创建cookie对象

Cookie newCookie=new Cookie(“parameter”,”value”);

服务器向客户端添加cookie

response.addCookie(newCookie);

cookie最生命周期设置(秒为单位) cookie.setMaxAge(maxAge);

说明: 1、maxAge为Integer.MAX_VALUE//表示信息永远有效 2、maxAge为-1//表示信息关闭浏览器窗口及失效丢失 3、maxAge为0//表示信息即时删除

二、session

1、Session原理:

session是在cookie的技术上延伸的一种技术,当服务器向客户端发送cookie时,客户端服务器会将cookie保存在服务器,而session会根据cookie创建sessionid,也就是cookie的key值。服务器可以通过sessionid来获取session的保存的数据,从而来进行数据的处理。由于session的存在,不管哪一个服务器来请求,都可以拿到同一个session获取到数据。

2、Session应用:

我们的用户管理系统,必须要登录成功后才能跳转到主页面,而不能直接绕过登录页面直接到主页面。与cookie一样,也可以查看用户是否登录过该网站。验证码的实现。

3、Session语法:

获取session

HttpSession session = request.getSession();

将数据存在session上

session.setAttribute("key", "value");

获取sessionId

String sessionId = session.getId();

销毁session

session.invalidate();

三、cookie和session的区别

1、Cookie 是一种发送到客户端浏览器的文本,并保存在客户端浏览器上,可以在浏览器上保存数据。

2、Session其实是利用Cookie进行信息处理的,当用户首先进行了请求后,服务器就在客户端浏览器上创建了一个Cookie,当这个Session结束时,其实就是意味着这个Cookie就过期了。

3、cookie和session的共同点都是跟踪浏览器的会话技术,不同点是cookie数据保存在客户端,session数据保存在服务器端。

4、cookie和session都可以设置键值对,都可以保存用户的数据,但cookie将数据保存在客户端浏览器容易遭到黑客的入侵和攻击,安全系数不高,而且有的站点的内存有限,太多的cookie不足以保存在站点,从而导致网站崩溃。而session将数据保存在服务器上更安全,不容易丢失。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值