Cookie和Session(3)
关于Cookie和Session
Cookie和Session都为了用来保存状态信息,都是保存客户端状态的机制,它们都是为了解决HTTP无状态的问题而所做的努力。
1)cookie 是一种发送到客户浏览器的文本串句柄,并保存在客户机硬盘上,可以用来在某个WEB站点会话间
持久的保持数据。
2) session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构(也可能就是使用散列表)来保
存信息,每一个网站访客都会被分配给一个唯一的标志符,即会话ID,它的存放形式无非两种:要么经过url传递,要么保
存在客户端的Cookies里.当然,你也可以将Session保存到数据库里,这样会更安全,但效率方面会有所下降.url方式传
递安全性肯定太差。
3)cookie和session的共同之处在于:cookie和session都是用来跟踪浏览器用户身份的会话方式。
4)cookie 和session的区别是:cookie数据保存在客户端,session数据保存在服务器端。
安全性:
简单的说,当你登录一个网站的时候,
如果web服务器端使用的是session,那么所有的数据都保存在服务器上,客户端每次请求服务器的时候会发
送当前会话的sessionid,服务器根据当前sessionid判断相应的用户数据标志,以确定用户是否登录或具有某种权
限。由于数据是存储在服务器上面,所以你不能伪造,但是如果你能够获取某个登录用户的 sessionid,用特殊的浏
览器伪造该用户的请求也是能够成功的。sessionid是服务器和客户端链接时候随机分配的,一般来说是不会有重
复,但如果有大量的并发请求,也不是没有重复的可能性.
5)两个都可以用来存私密的东西,同样也都有有效期的说法,区别在于session是放在服务器上的,过期与否取
决于服务期的设定,cookie是存在客户端的,过期与否可以在cookie生成的时候设置进去
- cookie数据存放在客户的浏览器上,session数据放在服务器上
- cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,如果主要考虑到安全应当使用session
- session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,如果主要考虑到减轻服务器性能方面,应当使用COOKIE
- 单个cookie在客户端的限制是3K,就是说一个站点在客户端存放的COOKIE不能3K。
- 所以:将登陆信息等重要信息存放为SESSION;其他信息如果需要保留,可以放在COOKIE中
最新文章
- react native TextInput
- Spring之LoadTimeWeaver——一个需求引发的思考---转
- 【编程题目】在一个字符串中找到第一个只出现一次的字符。如输入 abaccdeff,则输出 b。
- php 投票系统练习
- POJ1637 Sightseeing tour(判定混合图欧拉回路)
- Linux系统之用户、群组和权限
- springMvc配置编码过滤器
- 基数排序详解以及java实现
- 【转】Bash中的shopt选项
- Spring MVC 基础
- JAVA中的基本数类型据
- Java第三天
- Linux debug
- git pull代码冲突。怪异问题,了解一下
- 【学习】通用函数:快速的元素级数组函数【Numpy】
- 如何查看memcache的性能
- CentOS6.4下邮件服务器搭建
- 雷林鹏分享:XML Parser
- ios有些机型input和fixed导致的页面错位问题
- poj 1743 后缀数组 求最长不重叠重复子串