【JAVA】——cookie和session

来源:互联网 发布:2016网络彩票开售了 编辑:程序博客网 时间:2024/06/05 11:30

      在Web系统中,常常需要记录用户的有关信息,以供用户再次以此身份对Web服务器提起请求时进行确认。我们通常采用的方式就是cookie或者session来保存用户信息。

一、什么是cookie

        cookie是当用户浏览某个网站的时候,网站存储在客户端上的一个文本信息,是一种远程浏览器端储存数据并以此来跟中和识别用户的机制。由于 cookie是保存在客户端的,以此可以随意的设置cookie的保存时间,为了能够永久的保持用户信息,使用cookie是一种最为快捷的方式。当然客户端也可以阻止服务器写入,禁用cookie

   会话cookie和持久cookie的区别

         如果不设置过期时间,则表示这个cookie生命周期为浏览器会话期间,只要关闭浏览器窗口,cookie就消失了。这种生命期为浏览会话期的cookie被称为会话cookie。会话cookie一般不保存在硬盘上而是保存在内存里。

    如果设置了过期时间,浏览器就会把cookie保存到硬盘上,关闭后再次打开浏览器,这些cookie依然有效直到超过设定的过期时间。

    存储在硬盘上的cookie可以在不同的浏览器进程间共享,比如两个IE窗口。而对于保存在内存的cookie,不同的浏览器有不同的处理方式。

 

二、什么是session

       介绍Web中的session中指的就是用户在浏览某个网站是,从进入网站到浏览器关闭网站经过的这段时间,也就是用户浏览这个网站所花费的时间。从实质上来说,session实际上就是一个特定的时间概念。

       服务器总的一块内存(存key-value),可以保存信息到服务器端。客户端和服务器之间有对应的sessionID,然后通过客户端提交的sessionID识别客户端信息。使用该方式,访问网站的每一位来客将会被分配一个唯一的标识符,也就是sessionID

       客户端向服务器端发送sessionID的时候有两种方式:1cookie(内存cookie2rewriteURL

三、cookie机制和session机制的区别

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

      同时我们也看到,由于才服务器端保持状态的方案在客户端也需要保存一个标识,所以session

机制可能需要借助于cookie机制来达到保存标识的目的,但实际上还有其他选择

     Session:储存用户访问的全局唯一变量,存储在服务器上的PHP指定的目录中的(session_dir)的位置进行的存放,配置文件可设置时间,默认24分钟。

     cookie:用来存储连续訪問一个頁面时所使用,是存储在客户端,对于Cookie来说是存储在用户WIN的Temp目录中的。参数可设置存储时间。

     两者都可通过时间来设置时间长短,关闭浏览器就不存在了。



原创粉丝点击