可以用Cookie判断用户登录吗?我听说Session就是Cookie!这两个有什么区别呢?用session判断登录有什么缺点呢?

解决方案 »

  1.   

    Session是由应用服务器维持的一个服务器端的存储空间,用户在连接服务器时,会由服务器生成一个唯一的SessionID,用该SessionID 为标识符来存取服务器端的Session存储空间。而SessionID这一数据则是保存到客户端,用Cookie保存的,用户提交页面时,会将这一 SessionID提交到服务器端,来存取Session数据。这一过程,是不用开发人员干预的。所以一旦客户端禁用Cookie,那么Session也会失效。服务器也可以通过URL重写的方式来传递SessionID的值,因此不是完全依赖Cookie。如果客户端Cookie禁用,则服务器可以自动通过重写URL的方式来保存Session的值,并且这个过程对程序员透明。可以试一下,即使不写Cookie,在使用 request.getCookies();取出的Cookie数组的长度也是1,而这个Cookie的名字就是JSESSIONID,还有一个很长的二进制的字符串,是SessionID的值。Cookie是客户端的存储空间,由浏览器来维持。
    用session判断登录有什么缺点呢?
    优点:判断方便
    缺点:增加服务器压力
      

  2.   

    session在服务器端,cookie在客户端
      

  3.   

    session数据都保存在服务器上面,会有重复,如果有大量的并发请求有重复的可能性
    cookie不是很安全,可以分析存放在本地的COOKIE并进行COOKIE欺骗
    一般使用session和cookie结合
    http://topic.csdn.net/u/20090507/11/13303511-2c47-495f-bb3b-db31c01306b5.html
      

  4.   

    存在形式决定了安全性和容量  session适合保存安全系数比较高的少量的数据
    如验证码 用户ID 身份证 卡号等    
    cookie 适合保存非关键性的较大量的数据  如页面的风格  上次登录时间等
      

  5.   

    session 是存储在服务器端的,cookie是存储在客户端的。session判断登陆不是很好判断。session是针对浏览器的,在不同的浏览器中登陆同一个用户是可以的,所以判断起来挺困难。
      

  6.   

    session
    cookie都可以
    看具体应用。
      

  7.   

    session在服务器端,cookie在客户端  session有时间限制.cookie  除非清空
      

  8.   

    Cookie:在服务器端生成,保存在客户端的键值(name=value)对,向服务器发送请求的时候,如需要,则回发到服务端,服务器端可以禁用Cookie。”
       Session: 服务器给客户端的一个编号,当一个用户提交了表单时,浏览器会将用户的SessionID自动附加在HTTP头信息中,当服务器处理完这个表单后,将结果返回给SessionID所对应的用户。
    区别 :
    Session是存在服务器端的;而Cookie是存在客户端的!!
      Session更不需要Cookie来支持和不会受浏览器端的设置影响,可记录每个访问者的信息,独立在服务器端,比Cookie安全! 
    Session是存在内存中的,浏览器关闭它也就“死”了;Cookie是以文件方式存在的,可以修改其“存活”时间。
    总之session比cookie安全,判断方便,增加服务器的压力
      

  9.   

    简单的说 session在服务器端 cookie在客户端的人是不负责任的