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一旦被初始化,他就会自动运行。
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一旦被初始化,他就会自动运行。
相关文章推荐
- 扒一扒网页设计里的浮动 属性
- Java出现No enclosing instance of type E is accessible. Must qualify the allocation with an enclosing
- [转载]Java面试基础概念总结
- 【2014.8.17NOIP普及组模拟】公牛数学
- 【HTML5开发系列】CSS3
- nginx命令
- Hdu1251-统计难题(字典树)
- Helvetic Coding Contest 2016 online mirror B1
- 转 PHP 使用 Redis
- show/hide
- ubuntu linux下安装mysql
- 易语言 特征码的8种修改方法
- eclipse启动tomcat后localhost:8080无法访问问题
- Hive 启动报错 ClassNotFoundException: org.apache.hadoop.hive.service.HiveServer
- iOS之scrollView分页无限滚动框架
- flex弹性布局
- samba服务器的配置
- 易语言免杀360QVM人工智能
- ETL数据清洗工具总结
- angular 嵌套实现树结构 ng-repeat ng-include