JSP中Session内置对象和Cookie的区别

来源:互联网 发布:找网络兼职策划网站 编辑:程序博客网 时间:2024/06/05 00:13

      Session对象是由服务器自动创建的与用户请求相关的对象。服务器为每个用户都生成一个Session对象,用于保存该用户的信息,跟踪用户的操作状态。

    Cookie是小段文本信息,通过使用cookie可以标识用户身份、记录用户名及密码、跟踪重复用户。Cookie在服务器端生成并发送给浏览器,浏览器将Cookie的Key/value保存到某个指定的目录中,服务器的名称和值可以由服务器端定义。

     今天在逛论坛时看到一句话,觉得挺有意思的,贴出来。

   让我们用几个例子来描述一下cookie和session机制之间的区别与联系。笔者曾经常去的一家咖啡店有喝5杯咖啡免费赠一杯咖啡的优惠,然而一次性消费5杯咖啡的机会微乎其微,这时就需要某种方式来纪录某位顾客的消费数量。想象一下其实也无外乎下面的几种方案:
    该店的店员很厉害,能记住每位顾客的消费数量,只要顾客一走进咖啡店,店员就知道该怎么对待了。这种做法就是协议本身支持状态。
    发给顾客一张卡片,上面记录着消费的数量,一般还有个有效期限。每次消费时,如果顾客出示这张卡片,则此次消费就会与以前或以后的消费相联系起来。这种做法就是在客户端保持状态。
    发给顾客一张会员卡,除了卡号之外什么信息也不纪录,每次消费时,如果顾客出示该卡片,则店员在店里的纪录本上找到这个卡号对应的纪录添加一些消费信息。这种做法就是在服务器端保持状态。