session和cookie的区别

session和cookie是网站浏览中较为常见的两个概念,也是比较难以辨析的两个概念,但它们在点击流及基于用户浏览行为的网站分析中却相当关键。

操作方法

  • 01

    cookie机制和session机制的区别 具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。同时我们也看到,由于才服务器端保持状态的方案在客户端也需要保存一个标识,所以session机制可能需要借助于cookie机制来达到保存标识的目的,但实际上还有其他选择,比如说重写 URL和隐藏表单域。

  • 02

    会话cookie和持久cookie的区别 如果不设置过期时间,则表示这个cookie生命周期为浏览器会话期间,只要关闭浏览器窗口,cookie就消失了。这种生命期为浏览会话期的cookie被称为会话cookie。会话cookie一般不保存在硬盘上而是保存在内存里。 如果设置了过期时间(setMaxAge(60*60*24)),浏览器就会把cookie保存到硬盘上,关闭后再次打开浏览器,这些cookie依然有效直到超过设定的过期时间。存储在硬盘上的cookie可以在不同的浏览器进程间共享,比如两个IE窗口。而对于保存在内存的cookie,不同的浏览器有不同的处理方式。(在IE下测试通过)

  • 03

    如何利用Cookie实现自动登录 当用户在某个网站注册后,就会收到一个惟一用户ID的cookie。客户后来重新连接时,这个用户ID会自动返回,服务器对它进行检查,确定它是否为注册用户且选择了自动登录,从而使用户务需给出明确的用户名和密码,就可以访问服务器上的资源。

  • 04

    如何根据用户的爱好定制站点 网站可以使用cookie记录用户的意愿。对于简单的设置,网站可以直接将页面的设置存储在cookie中完成定制。然而对于更复杂的定制,网站只需仅将一个惟一的标识符发送给用户,由服务器端的数据库存储每个标识符对应的页面设置。

  • 05

    cookie的发送 创建Cookie对象 设置最大时效 将Cookie放入到HTTP响应报头 如果你创建了一个cookie,并将他发送到浏览器,默认情况下它是一个会话级别的cookie:存储在浏览器的内存中(服务器自动创建一个cookie并将jsessionId作为key,sessionId的值作为value发送到客户端浏览器内存中),用户退出浏览器之后被删除。如果你希望浏览器将该cookie存储在磁盘上,则需要使用maxAge,并给出一个以秒为单位的时间。将最大时效设为0则是命令浏览器删除该cookie。发送cookie需要使用HttpServletResponse的addCookie方法,将cookie插入到一个Set-Cookie HTTP请求报头中。由于这个方法并不修改任何之前指定的Set-Cookie报头,而是创建新的报头,因此我们将这个方法称为是addCookie,而非 setCookie。同样要记住响应报头必须在任何文档内容发送到客户端之前设置。

  • 06

    cookie的读取 1.调用request.getCookie 要获取有浏览器发送来的cookie,需要调用HttpServletRequest的getCookies方法,这个调用返回Cookie对象的数组,对应由HTTP请求中Cookie报头输入的值。 2. 对数组进行循环,调用每个cookie的getName方法,直到找到感兴趣的cookie为止,cookie与你的主机(域)相关,而非你的 servlet或JSP页面。因而,尽管你的servlet可能只发送了单个cookie,你也可能会得到许多不相关的cookie。 例如:(login.jsp页面cookie实现用户名userName填写) login.jsp: <% String username = ""; //从客户端读取硬盘中的cookie文件 Cookie[] cookies = request.getCookies(); if(cookies == null){ username = ""; } else{ for (int i = 0; i < cookies.length; i++){ if ("USERNAME".equalsIgnoreCase(cookies[i].getName())){ username = cookies[i].getValue(); } } %> <form name="login" method="post" action="login.do"> <td width="100%" bgcolor="#CCCCCC" colspan="2"> <p align="left">用户名<br> <input type="text" name="username" value= "<%=username%>"> </p> <p align="left">密 码 <br> <input type="password" name="password"> </p> <p align="left"> <input type="submit" name="Submit" value="确定"> <input name="reset" type="reset" value="取消"> </p> </form> LoginAction: //将正确userName放入c1对象,并用"USERNAME"做key标识 Cookie c1= new Cookie("USERNAME",logindto.getUsername()); //如果不设置时间,则cookie为会话cookie,不写入客户端硬盘 c1.setMaxAge(60*60*24); response.addCookie(c1);

  • 07

    session的机制 session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构(也可能就是使用散列表)来保存息。 但程序需要为某个客户端的请求创建一个session的时候,服务器首先检查这个客户端的请求里是否包含了一个session标识-称为session id,如果已经包含一个session id则说明以前已经为此客户创建过session,服务器就按照session id把这个session检索出来使用(如果检索不到,可能会新建一个,这种情况可能出现在服务端已经删除了该用户对应的session对象,但用户人为地在请求的URL后面附加上一个JSESSION的参数)。如果客户请求不包含session id,则为此客户创建一个session并且同时生成一个与此session相关联的session id,这个session id将在本次响应中返回给客户端保存。

(0)

相关推荐

  • session和cookie的区别?

    在网上看到很多关于session和cookie的介绍,本人感觉他们说的太繁琐,今天我把我所理解的session和cookie的区别与大家一起分享一下,希望能对您有所帮助. 操作方法 01 sessio ...

  • session与cookie的区别,有哪些不同之处

    session与cookie的区别,根据自己的理解总结如下: (1)cookie是一种客户端的状态管理技术,将状态写在 浏览器端,而session是一种服务器端的状态管理技术,将 状态写在web服务器 ...

  • session与cookie的区别

    很多新手都不明白session和cookie的区别,今天我们就来为大家解释一下两者的区别 操作方法 01 先说cookie吧,在你浏览网页的时候,作出的选择和文字,cookie都会给你记录下来,等你再 ...

  • session和cookie的区别和联系

    为什么要用Session和Cookie? 简单一句话,因为Session和Cookie可以记录用户状态信息. 嘶..这到底啥意思呢? 动态网页的出现 什么是静态网页 ·含义:一个网页的内容是HTML代 ...

  • session和cookie的区别和联系(java session和cookie的区别)

    session和cookie的区别和联系(java session和cookie的区别)

  • WEB开发之[2]session与cookie的区别

    操作方法 01 cookie 和session 的区别: 02 1.cookie数据存放在客户的浏览器上,session数据放在服务器上. 2.cookie不是很安全,别人可以分析存放在本地的COOK ...

  • session,cookie,token区别(token和session和cookie的区别)

    一.Cookie洛:大爷,楼上322住的是马冬梅家吧? 大爷:马都什么? 夏洛:马冬梅. 大爷:什么都没啊? 夏洛:马冬梅啊. 大爷:马什么没? 夏洛:行,大爷你先凉快着吧.在了解这三个概念之前我们先 ...

  • cookie和session区别面试(java session和cookie的区别)

    面试官:如果客户端禁止 cookie 能实现 session 还能用吗?程序猿:可以用,session 只是依赖 cookie 存储 sessionid,如果 cookie 被禁用了,可以使用 url ...

  • cookie和session区别(cookie和session的作用和区别)

    cookie和session都是缓存,很多人都分不清二者有什么区别,本文对两个知识点进行对比分析,让大家对Cookie和Session有一个更深入的了解.1.cookie和session的定义1.1. ...