cookie与session的区别
2013-07-26 11:16
232 查看
1) cookie是保存在客户端的,javascript中,通过document.cookie可以查看当前domain以及path下的所有cookie属性及其值
网上有很多谈到如何获取cookie,设置cookie以及删除cookie的,在这里就不多说了
cookie适用于保存需要长时间保存的用户信息,利用想记住用户的用户名以及密码,让用户在一段时间内进入网站无需再次登录,则可以利用cookie来实现
如果不设置过期时间,则表示这个cookie生命周期为浏览器会话期间,只要关闭浏览器窗口,cookie就消失了。这种生命期为浏览会话期的cookie被称为会话cookie
注意:但有时cookie会被用户浏览器禁用
2) session是保存在服务器端的,服务器会用户创建一个session,用于存放信息,每一个session有一个sessionid,是每个session的唯一标识,服务器以cookie的方式存放在客户端,下次用户访问服务器时,浏览器将sessionid一起发送给服务器,服务器根据该id查询有关该次会话的所有信息
客户端仅保存sessionid,其他的所有会话信息都保存在服务器端,这样提高了安全性,但也增加了服务器端的内存开销。而服务器端有关该次会话的信息的有效期默认是半小时,可以设置有效期。
session比较适用于cookie被用户禁用,每次进入网站都需要登录的情况;或者是一些比较重要的网站,每次都需要登录;登录后便创建一个session,用于保存该次访问用户的信息。由于session也需要借助cookie来保存sessionid,因此若是cookie被禁用,则session也无法使用,因此服务器端得不到sessionid来查询有关该次会话的信息(尽管服务器端的信息仍然保存着)。
在jsp中,session是内置的对象,因此可以直接使用session并调用其函数
最常用的操作有:
1) 设置/修改属性值:session.setAttribute("attr", value);
2) 删除属性:session.removeAttribute("attr");
3) 获取属性值:session.getAttribute("attr");
4) 清空会话:session.clear();
5) 设置有效期:session.setMaxInactiveInterval(int seconds);
在servlet中,会话需要手动实例化;具体过程可参见
http://blog.sina.com.cn/s/blog_531101430100mw34.html /article/4136281.html
jsp中,获取会话值,返回的是一个对象,需要将其转换成需要的类型才能使用,网上查到的大都使用强制转换;但我使用强制转换却一直没能成功,例子:
1) String user_id=(String)session.getAttribute("user_id");
2) String user_id=session.getAttribute("user_id").toString();
上面两种方式,第一种没能正确获得属性值,第二种则成功获取
网上有很多谈到如何获取cookie,设置cookie以及删除cookie的,在这里就不多说了
cookie适用于保存需要长时间保存的用户信息,利用想记住用户的用户名以及密码,让用户在一段时间内进入网站无需再次登录,则可以利用cookie来实现
如果不设置过期时间,则表示这个cookie生命周期为浏览器会话期间,只要关闭浏览器窗口,cookie就消失了。这种生命期为浏览会话期的cookie被称为会话cookie
注意:但有时cookie会被用户浏览器禁用
2) session是保存在服务器端的,服务器会用户创建一个session,用于存放信息,每一个session有一个sessionid,是每个session的唯一标识,服务器以cookie的方式存放在客户端,下次用户访问服务器时,浏览器将sessionid一起发送给服务器,服务器根据该id查询有关该次会话的所有信息
客户端仅保存sessionid,其他的所有会话信息都保存在服务器端,这样提高了安全性,但也增加了服务器端的内存开销。而服务器端有关该次会话的信息的有效期默认是半小时,可以设置有效期。
session比较适用于cookie被用户禁用,每次进入网站都需要登录的情况;或者是一些比较重要的网站,每次都需要登录;登录后便创建一个session,用于保存该次访问用户的信息。由于session也需要借助cookie来保存sessionid,因此若是cookie被禁用,则session也无法使用,因此服务器端得不到sessionid来查询有关该次会话的信息(尽管服务器端的信息仍然保存着)。
在jsp中,session是内置的对象,因此可以直接使用session并调用其函数
最常用的操作有:
1) 设置/修改属性值:session.setAttribute("attr", value);
2) 删除属性:session.removeAttribute("attr");
3) 获取属性值:session.getAttribute("attr");
4) 清空会话:session.clear();
5) 设置有效期:session.setMaxInactiveInterval(int seconds);
在servlet中,会话需要手动实例化;具体过程可参见
http://blog.sina.com.cn/s/blog_531101430100mw34.html /article/4136281.html
jsp中,获取会话值,返回的是一个对象,需要将其转换成需要的类型才能使用,网上查到的大都使用强制转换;但我使用强制转换却一直没能成功,例子:
1) String user_id=(String)session.getAttribute("user_id");
2) String user_id=session.getAttribute("user_id").toString();
上面两种方式,第一种没能正确获得属性值,第二种则成功获取
相关文章推荐
- cookie和session的区别详解
- session与cookie的区别
- PHP中SESSION和cookie的使用和区别
- Application, Session, Cookie, Viewstate, Cache对象用法和区别(转)
- cookie 和session 的区别详解
- Cookie与Session的区别
- cookie 和session 的区别详解
- Application, Cache, Session, Cookie, Viewstate 用法和区别
- session和cookie的区别
- Token ,Cookie和Session的区别
- ASP.NET Application,Session,Cookie和ViewState等对象用法和区别
- Java cookie和session介绍与区别
- Cookie和session的区别,从六点上来进行比较
- 简述Session 、Cookie、cache 区别
- Cookie和Session的区别
- cookie和session的区别和用途
- session和cookie区别
- session与cookie的区别
- Session、Cookie、Application、ViewState和Cache 这四者的区别
- cookie 和session 的区别详解