您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > Cookie知识学习
Cookie知识分享分享者:**部门:**目录A•概述B•Cookie工作原理C•常见用途D•Cookie方法属性E•实例演示思考&讨论如何测试cookie什么是Cookie使用Cookie的目的Cookie常见应用Cookie工作原理Cookie存储在哪里Cookie存储信息Cookie诞生浏览器与WEB服务器之间是使用HTTP协议进行通信的,当某个用户发出页面请求时,WEB服务器只是简单的进行响应,然后就关闭与该用户的连接。因此当一个请求发送到WEB服务器时,无论其是否是第一次来访,服务器都会把它当作第一次来对待,这样的不好之处可想而知。为了弥补这个缺陷,Netscape开发出了cookie这个有效的工具来保存某个用户的识别信息。Cookie概述•Cookie是跟踪会话的最常见方法。•存放在客户端计算机的一个纯文本文件。•用于保存用户的访问状态。Ps:简单的来说就是用户通过客户端访问服务器端的过程中,被服务器端创建保存在客户端的一段Code,只适用于web中。Cookie根本目的•使用Cookie的根本目的是为了在用户访问期间实现不同页面直接的数据传输,以解决HTTP无状态的问题问题1:1)不同浏览器之间cookie可以共享不?2)同个浏览器同个版本数据可共享不?3)同个浏览器不同版本数据可以共享不?答案:1)不同浏览器之间cookie可以共享不》》同一台计算机上的不同浏览器不一定能够相互读取各自的Cookie,Cookie文件存放位置不同;浏览器的内核不同。2)同个浏览器同个版本数据可共享不》》要考虑cookie的生效时间,如果cookie是保存在内存中,打开新的一个tab页签数据是可共享,而直接打开一个新的浏览器页面数据是无法共享;如果cookie是保存在硬盘上,可被同一种浏览器是可共享。3)同个浏览器不同版本数据可以共享不》》保存在硬盘上的cookie应该是可支持不同版本的数据共享,但可能有部分浏览器不同版本之间纯在兼容性问题,可能无法实现数据的共享Cookie的工作原理—无cookie服务器可以再次读取Cookie中存放的Cookie浏览器会把Cookie及随后产生的请求发送相同的服务器。浏览器收到包含Cookie的响应后,会把Cookie的内容用“关键字/值”对的形式写入到客户端存放cookie的文件文本中。服务端创建Cookie,并作为响应头域的一部分返回用户客户的HTTP请求到达服务端,不发送cooki键值对Cookie的工作原理—有cookie服务器使用它客户的HTTP请求到达服务器端,发送cookie键值对到服务器问题2:以访问百度为例,cookie工作原理是怎么进行91乐印首页请求过程1)在浏览器输入,浏览器会将请求发送到乐印的web服务器,请求它的首页。2-1)存在:浏览器发送请求时,它会查看你机器上跟域名文件,如果存在同,浏览器就会把相关的Cookie“键-值”对数据跟请求一起发送到服务器,乐印的web服务器将能够使用它们。2-2)不存在:如果不存在同,则浏览器不发送Cookie到服务器。服务器建立一个新的用户ID,并在把你所请求的页面发回到你的浏览器时,把用户ID“键-值”对发送到你的机器,你的硬盘就会驻留了对应这个站点的“键-值”对Cookie。3)浏览器会把Cookie及随后产生的请求发送相同的服务器。4)服务器可以再次读取Cookie中存放的Cookie简单理解:存在cookie执行步骤(1-2-1)不存在cookie执行步骤:1-2.2-3-4或是1-2.2-2.1问题3:Cookie这些应用主要在哪些领域体现?Cookie常见应用在电子商务会话中标识用户记录用户名和密码对站点进行定制定向广告Cookie方法属性Cookie方法属性Cookie的生成1)创建Cookie对象调用Cookie的构造函数,给出Cookie的名称和Cookie值,二者都是字符串Cookiec=newCookie(“Userinfo”,“Value”)2)将Cookie放入到http响应中response.addCookie(c)Ps:如果忘记这一步,不会有任何的cookie被发送到浏览器Cookie的生成3)设置最大时效方法:setMaxAge(参数为秒数)c.setMaxAge(60*60*24*7)//一周有效默认值:-1cookie不是持久存储表现:关闭网页浏览器之后cookie失效Eg:实例演示cookie的读取•读取cookie1)调用request.getCookies•得到Cookie对象组成的数组2)在这个数组中循环,调用getName,直到找到想要的cookie为止•根据应用程序的具体情况使用这个值(getValue)cookie的读取•读取cookie•Eg:实例演示StringcookieName=userID;Cookie[]cookies=request.getCookies();if(cookies!=null){for(inti=0;icookies.length;i++){Cookiecookie=cookies[i];if(cookieName.equals(cookie.getName())){doSomethingWith(cookie.getValue());}}}Cookie文件信息文件名格式为:用户名@域名[数字].txtPs:同一个域下可能有多个cookie文件文件内容格式:•第1行为Cookie名称•第2行是Cookie的值•第3行是Cookie所属站点的地址•第4行是个标记值(注:准确来说应该是表示该Cookie是否被加密)•第5行为超时时间的低位(Cardinal/DWORD)•第6行为超时时间的高位•第7行为创建时间的低位•第8行为创建时间的高位•第9行固定为*,表示一节的结束Cookie查看方式•在Windows2000/XP系统中,Cookie默认保存在C:/DocumentsandSettings/username/Cookies/目录下(此处的username为你登录系统时使用的用户名,在开始->运行中输入cookies便可打开该目录),命名规则为username@domain.txt。•通过工具查看》》CookieSpy:可查看网络浏览器Cookie,如IE,火狐,谷歌Chrome,苹果Safari和Opera的cookies》》CookieEditor:可查看IE、火狐浏览器的Cookie》》Fiddler:web调试代理。它能够记录所有客户端和服务器间的http请求,允许你监视,设置断点,甚至修改输入输出数据。测试事项Cookie是否启作用Cookie是否保存》》关键cookie是否加密》》Cookie生效时间刷新页面对cookies有什么影响禁用Cookie结束
本文标题:Cookie知识学习
链接地址:https://www.777doc.com/doc-5976668 .html