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中

猜你喜欢

转载自www.cnblogs.com/wangkeqin/p/9270622.html