您的位置:首页 > 其它

session与cookie的区别

2016-07-11 16:19 477 查看
Cookie机制采用的是客户端保存状态的方案。

Session机制采用的是服务器端保存状态的方案。

Cookie:服务器通过http响应头中加一行指令来提示浏览器生成指定的cookie。Cookie的指令一般是由浏览器通过一定指令从后台发送到浏览器当中。Cookie的内容主要包括:名字、值、过期时间、路径和域。若不设置过期时间。则表示这个cookie的生命期为浏览器会话期间。关闭浏览器期间,cookie会自动消失,在这个时候,cookie是保存在内存中,而不是硬盘中。当然这种方法一般是不常用的。反之,如果我们设置了过期时间,浏览器就会把cookie的值保存到硬盘上,即使你关闭了浏览器再重新打开也是一样的。一直到你所设定的时间结束。

Session:是一种服务器端的机制,服务器使用的是一种散列表的结构。

当程序为某个客户端创建一个session的时候,服务器首先检测客户端这个请求中是否包含了session标识(session id),如果已经包含则说明以前客户端中包含session标识,服务器就会通过session id 把这个session检索出来,如果没有,则会重新建立一个session。session类可以在我 们访问一个浏览器或网址的时候,对他进行一定的监控,对他们的状态进行跟踪。session类将每个用户的session进行信息序列化后存储到
cookie当中。并对他进行加密,当然你还可以进行把session存储到数据库当中以此来增加安全性。但是这是要求存储到cookie当中的 session id  与数据库当中的session id 进行匹配。程序默认只在cookie当中存储session.当页面进行载入的时候,session就会将cookie是否有效的存储到session当 中。如果seseion不存在或者已经过期,那么他就会生成一个新的session,并且把它绑定到cookie当中,如果session数据存在,那么 它就会对session进行更新,同时cookie也会被更新。每次更新都会生成session_id这个值。session一旦被初始化,他就会自动运行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: