Cookie与Session的区别

     具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。

    Cookie是一小段信息,当用户第一次访问web服务器时,服务器将这些信息发送给浏览器,这个用户以后每次访问这个web站点时,web服务器可以通过cookie识别这个用户。远程服务器保存cookie的一部分,其中包含关于访问者的信息;浏览器将cookie作为纯文本保存在计算机硬盘上。

   Cookie是一个具有特定格式的文本字符串,格式为:

cookieName=cookieValue;expires=expirationDateGMT;path=URLpath;domain=siteDomain.其中cookieName是必须的,字符串的其他参数是可选的。cookie分为两种形式:内存cookie(也称为会话cookie)和硬盘cookie。如果不设置expires,这表示此cookie为内存cookie。当浏览器关闭时,此cookie就会消失,此生命周期为浏览器会话期间。若设置了expires,浏览器就会把cookie保存到硬盘上,关闭浏览器后再次打开浏览器,这些cookie仍然有效直到超过设定的过期时间。

  Cookie主要使用在以下两方面:1.记住密码 2.购物车

  cookie是客户端存取状态的策略,而session 就是服务端存取某个客户会话信息的策略。http是无状态的协议,客户每次读取web页面时,服务器都打开新的会话,而且服务器也不会自动维护客户的上下文信息,那么要怎么才能实现网上商店中的购物车呢,session就是一种保存上下文信息的机制,它是针对每一个用户的,变量的值保存在服务器端,通过SessionID来区分不同的客户,session是以cookie或URL重写为基础的。当客户端向服务器发出请求时,要求服务器产生一个session时,服务器端会先检查一下,客户端的cookie里面有没有session_id,是否已经过期。如果有这样的session_id的话,服务器端会根据cookie里的session_id把服务器的session检索出来。如果没有这样session_id的话,服务器端会重新建立一个。

   session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用COOKIE


Session和cookie谁更安全

就个人而言,我觉得session更安全一点,我以下几点看法。

1,如果session和cookie一样安全的话,二者就没有并要同时存在了,只要cookie就好了,让客户端来分提服务器的负担,并且对于用户来说又是透明的。何乐而不为呢。

2,session的sessionID是放在cookie里,要想功破session的话,第一要功破cookie。功破cookie后,你要得到 sessionID,sessionID是要有人登录,或者启动session_start才会有,你不知道什么时候会有人登录。第二,sessionID是加密的,第二次session_start的时候,前一次的sessionID就没有用了,session过期时sessionid也会失效,想在短时间内功破加了密的 sessionID很难。session是针对某一次通信而言,会话结束session也就随着消失了,而真正的cookie存在于客户端硬盘上的一个文本文件,谁安全很显然了。

3,如果session这么容易被功破,这么不安全的话,我想现有的绝大部分网站都不安全了。


参考网站:http://blog.51yip.com/php/938.html

      http://www.cnblogs.com/shiyangxt/articles/1305506.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值