session和cookie理解
2017-07-24 14:59
169 查看
session和cookie理解
Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。Cookie对象使用key-value属性对的形式保存用户状态,一个Cookie对象保存一个属性对,一个request或者response同时使用多个Cookie
如果不设置 过期时间,则表示这个 Cookie生命周期为 浏览器会话期间 , 只要关闭浏览器,cookie就消失了.
一般保存在 内存,不在硬盘;如果设置了过期时间, 浏览器会把cookie保存在硬盘上,关闭再打开浏览器, 这些cookie 依然有效直到 超过的设置过期时间;
session 存储在Server段的内存进程中的,而这个进程相当不稳定,经常会重启,这样重启的话,就会造成Session失效,用户就必须要重新登录,用户体验相当差
当程序需要为某个客户端的请求创建一个session时,服务器首先检查这个客户端的请求里是否已包含了一个session标识(称为session id),如果已包含则说明以前已经为此客户端创建过session,服务器就按照sessionid把这个session检索出来….使用(检索不到,会新建一个),如果客户端请求不包含session id,则为此客户端创建一个session并且生成一个与此session相关联的session id,
Session ID的保存方法:[1] 使用Cookie来保存,服务器通过设置Cookie的方式将Session ID发送到浏览器。[2]URL地址重写是对客户端不支持Cookie的解决方案。URL地址重写的原理是将该用户Session的id信息重写到URL地址中。服务器能够解析重写后的URL获取Session的id。
[3] 第三种方式是在页面表单里面增加隐藏域,这种方式实际上和第二种方式一样,只不过前者通过GET方式发送数据,后者使用POST方式发送数据
cookie 和session 的区别:
1.cookie数据存放在客户的浏览器上,session数据放在服务器上.
简单的说,当你登录一个网站的时候,如果web服务器端使用的是session,那么所有的数据都保存在服务器上面,
客户端每次请求服务器的时候会发送 当前会话的session_id,服务器根据当前session_id判断相应的用户数据标志,以确定用户是否登录,或具有某种权限。
2.cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗考虑到安全应当使用session
3.session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能考虑到减轻服务器性能方面,应当使用COOKIE
4.单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。Session对象没有对存储的数据量的限制,其中可以保存更为复杂的数据类型
5.session很容易失效,用户体验很差;
相关文章推荐
- 基础知识《十二》一篇文章理解Cookie和Session
- 对Session和Cookie的区分与理解
- 理解Cookie与Session
- 对于session与cookie深入理解
- 我对session和cookie的理解
- 对Session和Cookie的区分与理解
- 深入理解Servlet/JSP之“Cookie和Session原理
- cookie、session、token的理解
- 深入理解cookie与session
- (初)对session和cookie的理解
- Session与Cookie的理解
- 深入理解session和Cookie
- cookie 与session的区别与理解
- 对session与cookie的一些理解
- 对session和cookie的一些理解
- session和cookie的最深刻理解
- 对Cookie和Session的理解
- 对session和cookie的一些理解
- 深入理解 Session 与 Cookie
- 【转】深入理解 Session 与 Cookie