session和cookie有什么区别
本篇内容主要讲解“session和cookie有什么区别”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“session和cookie有什么区别”吧!
session和cookie有什么区别呢?
由于HTTP协议是无状态的协议,所以服务端需要时时记录用户的状态,就需要用某种机制来识别具体的用户
session是一个存在于服务器上的类似一个散列表格的文件。里面存有我们需要的信息,在需要时可以从里面取出信息。可以将其视为一个大型的map,里面储存用户端sessionID,用户向服务器发送请求时会带上这个sessionID,取出相应的值
session应用场景:购物网站中当你点击“加入购物车”按钮,由于HTTP协议无状态,所以并不知道哪个是用户操作的,这时需要为特定的用户创建了特定的session,用于标识,跟踪用户,这样才知道将哪些物品放入购物车,这个session是放入服务器端的。在服务器端中保存session的方法很多,有内存、数据库、文件等。集群的时候也要考虑session的专一,在大型网站,也会有相应的专门的session服务器集群,用来保存用户会话,这个时候session信息放在内存中,使用一些缓存技术来放session,例如:Memcached
cookie应用场景:当登录网站时,下次希望这个网站能记住自己的账号,那么就需要建立一个本地cookie。每次HTTP请求的时候,客户端都会发送相应的cookie信息到服务器端。大多数都用cookie实现session跟踪,即第一次创建session的时候再cookie里面记录sessionID,此后每次请求都会把这个ID发往服务器端,服务器端就知道该处理什么了,如果浏览器禁用了cookie,则需要URL重写进行会话跟踪,就是每次HTTP交互的时候,URL后面会被附加以上,例如:sid=123456 这样的参数,服务端依此来识别用户
cookie与session一般认为是两个独立的东西,session采用的是服务器端保持状态的方法,cookie采用的客户端保持状态的方法但是,在禁止cookie后,session也不能实现,因为session是用sessionID来确定当前对话所对应的服务器session,而sessionID是通过cookie传递的,禁用cookie相对于失去了sessionID,也就无法得到session了,此时需要用URL或者隐藏表单传递sessionID
到此,相信大家对“session和cookie有什么区别”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341