首页 浅淡Session机制与Cookie机制

浅淡Session机制与Cookie机制

举报
开通vip

浅淡Session机制与Cookie机制 软件开发与设计 SOFTWARE DEVELOPMENT AND DESIGN ……………………………………………………………………………………………………………………………… 浅淡 Session机制与 Cookie机制 柳丽娜 (大庆油田第七采油厂信息中心,大庆 163517) 摘 要: Cookie机制采用的是在客户端保持状态的方案,而 Session机制采用的是在服务器端保持状态的方案。 本文介绍了这两种机制的含义和一些实例,以方便大家区别 Session和 Cookie机制。 关键词: Cook...

浅淡Session机制与Cookie机制
软件开发与设计 SOFTWARE DEVELOPMENT AND DESIGN ……………………………………………………………………………………………………………………………… 浅淡 Session机制与 Cookie机制 柳丽娜 (大庆油田第七采油厂信息中心,大庆 163517) 摘 要: Cookie机制采用的是在客户端保持状态的方案,而 Session机制采用的是在服务器端保持状态的方案。 本文介绍了这两种机制的含义和一些实例,以方便大家区别 Session和 Cookie机制。 关键词: Cookie机制;Session机制;服务器;浏览器 1 引言 一般情况下,登录一个网站时,通常被要求输入用户名 和密码,之后再进入相关网页就可以畅通无阻,这是什么原 因呢,很多用户并不太清楚。 这是因为用户的信息被存储了,那用户信息被谁存储, 又被存储在哪里了呢?它可能被 Session 存储,也可能是被 Cookie存储的。 2 Session与 Cookie 2.1 什么是 Session Session用中文来解释就是会话期。一个会话期开始于用 户输入一个站点的网址时,结束于离开这个站点时。 Session在 Web技术中占有非常重要的份量。由于网页是 一种无状态的连接程序,因此无法得知用户的浏览状态。通 过 Session 记录用户的有关信息,以供用户再次以此身份对 Web服务器提供要求时作确认。例如,在某些网站中常常要 求用户登录, 但怎么知道用户已经登录了呢,如果没有 Ses- sion的话,登录信息是无法保留的,那岂不要让用户在每一页 网页中都要提供用户名和密码? 2.2 Cookie Cookie 是一小段文本信息,伴随着用户请求和页面在 Web 服务器和浏览器之间传递。用户每次访问站点时,Web 应用程序都可以读取 Cookie 包含的信息。 Cookie 是与 Web 站点而不是与具体页面关联的,所以无 论用户请求浏览站点中的哪个页面,浏览器和服务器都将交 换网站的 Cookie 信息。用户访问其他站点时,每个站点都可 能会向用户浏览器发送一个 Cookie,而浏览器会将这些 Cook- ie 分别保存。 以上就是 Cookie 的基本工作原理。 3 机制差别 具体来说 Cookie机制采用的是在客户端保持状态的方案。 它是在用户端的会话状态的存储机制,他需要用户打开客户 端的 Cookie支持。Cookie的作用就是为了解决 HTTP 协议无 状态的缺陷所作的努力。 而 Session机制采用的是一种在客户端与服务器之间保持 状态的解决方案。同时我们也看到,由于采用服务器端保持 状态的方案在客户端也需要保存一个标识,所以 Session机制 可能需要借助于 Cookie机制来达到保存标识的目的。而 Ses- sion提供了方便管理全局变量的方式。 Session是针对每一个用户的,变量的值保存在服务器上, 用一个 SessionID来区分是哪个用户 Session变量,这个值是通 过用户的浏览器在访问的时候返回给服务器,当客户禁用 Cookie时,这个值也可能设置为由 get来返回给服务器。 就安全性来说:当访问一个使用 Session 的站点,同时在 自己机子上建立一个 Cookie,建议在服务器端的 Session机制 更安全些,因为它不会任意读取客户存储的信息。 Cookies是服务器在本地机器上存储的小段文本并随每一 个请求发送至同一个服务器。 IETF RFC 2965 HTTP State Management Mechanism 是通用 Cookie 规范。网络服务器用 HTTP头向客户端发送 Cookies,在客户终端,浏览器解析这 些 Cookies并将它们保存为一个本地文件,它会自动将同一服 务器的任何请求缚上这些 Cookies。 Discuss the session mechanism and the cookie mechanism LIU Lina (Information Center of NO.7 Oil Production Plant ,Daqing 163517) 【Abstract】Specifically speaking what the cookie mechanism uses is maintains at the client side the condition the plan, the session mechanism uses is maintains at the server end the condition the plan. But still had the many person not clear two kind of machine-made differences, down to cannot correct application these two kind of technologies. This article introduced these two kind of machine-made meanings and some examples, by facilitate everybody to distinguish session and the cookie mechanism. 【Key words】Cookie mechanism;Session mechanism; server; browser 本文收稿日期:2008年月日 6月 16日 28- - ……………………………………………………………………………………………………………………………… 软件开发与设计SOFTWARE DEVELOPMENT AND DESIGN 由于 HTTP协议是无状态的,而出于种种考虑也不希望使 之成为有状态的,因此,后面两种方案就成为现实的选择。 具体来说 Cookie机制采用的是在客户端保持状态的方案,而 Session机制采用的是在服务器端保持状态的方案。同时我们 也看到,由于采用服务器端保持状态的方案在客户端也需要 保存一个标识,所以 Session机制可能需要借助于 Cookie机制 来达到保存标识的目的。 4 Cookie机制 正统的 Cookie分发是通过扩展 HTTP协议来实现的,服 务器通过在 HTTP的响应头中加上一行特殊的指示以提示浏览 器按照指示生成相应的 Cookie。然而纯粹的客户端脚本如 JavaScript也可以生成 Cookie。而 Cookie 的使用是由浏览器按 照一定的原则在后台自动发送给服务器的。浏览器检查所有 存储的 Cookie,如果某个 Cookie所声明的作用范围大于等于 将要请求的资源所在的位置,则把该 Cookie附在请求资源的 HTTP请求头上发送给服务器。 Cookie的内容主要包括:名字、值、过期时间、路径和 域。如果不设置过期时间,则 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示这个 Cookie的生命期为浏 览器会话期间,只要关闭浏览器窗口,Cookie就消失了。这 种生命期为浏览器会话期的 Cookie被称为会话 Cookie。会话 Cookie一般不存储在硬盘上而是保存在内存里,当然这种行 为并不是规范规定的。如果设置了过期时间,浏览器就会把 Cookie保存到硬盘上,关闭后再次打开浏览器,这些 Cookie 仍然有效直到超过设定的过期时间。 存储在硬盘上的 Cookie 可以在不同的浏览器进程间共享, 比如两个 IE窗口。而对于保存在内存里的 Cookie,不同的浏 览器有不同的处理方式。对于 IE,在一个打开的窗口上按 Ctrl-N(或者从文件菜单) 打开的窗口可以与原窗口共享,而 使用其他方式新开的 IE进程则不能共享已经打开的窗口的内 存 Cookie。 5 Session机制 Session机制是一种服务器端的机制,服务器使用一种类 似于散列表的结构(也可能就是使用散列表) 来保存信息。 当程序需要为某个客户端的请求创建一个 Session的时候, 服务器首先检查这个客户端的请求里是否已包含了一个 Ses- sion标识 - 称为 Session id,如果已包含一个 Session id则说明 以前已经为此客户端创建过 Session,服务器就按照 Session id 把这个 Session检索出来使用(如果检索不到,可能会新建一 个),如果客户端请求不包含 Session id,则为此客户端创建一 个 Session并且生成一个与此 Session相关联的 Session id,Ses- sion id的值应该是一个既不会重复,又不容易被找到规律以仿 造的字符串,这个 Session id将被在本次响应中返回给客户端 保存。 保存这个 Session id的方式可以采用 Cookie,这样在交互 过程中浏览器可以自动地按照规则把这个标识发给服务器。 一般这个 Cookie的名字都是类似于 SessionID。比如 Web logic 对 于 Web 应 用 程 序 生 成 的 Cookie, JSESSIONID = ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zW- pBng! -145788764,它的名字就是 JSESSIONID。 由于 Cookie可以被人为地禁止,必须有其他机制以便在 Cookie被禁止时仍然能够把 Session ID传递回服务器。经常被 使用的一种技术叫做 URL重写,就是把 session id直接附加在 URL路径的后面,附加方式也有两种,一种是作为 URL路径 的 附 加 信 息 , 表 现 形 式 为 http://...../xxx;jsessionid = ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zW- pBng! -145788764;另一种是作为查询字符串附加在 URL后 面,表现形式为 http://...../xxx?jsessionid =ByOK3vjFD75aPn- rF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zWpBng! -145788764 这两种方式对于用户来说是没有区别的,只是服务器在解析 的时候处理的方式不同,采用第一种方式也有利于把 Session ID的信息和正常程序参数区分开来。为了在整个交互过程中 始终保持状态,就必须在每个客户端可能请求的路径后面都 包含这个 Session ID。 在谈论 Session机制的时候,常常听到这样的说法“只要 关闭浏览器,Session就消失了”。对 Session来说也是一样的, 除非程序 通知 关于发布提成方案的通知关于xx通知关于成立公司筹建组的通知关于红头文件的使用公开通知关于计发全勤奖的通知 服务器删除一个 Session,否则服务器会一直保 留,程序一般都是在用户做 log off的时候发个指令去删除 Ses- sion。然而浏览器从来不会主动在关闭之前通知服务器它将要 关闭,因此服务器根本不会有机会知道浏览器已经关闭,之 所以会有这种错觉,是大部分 Session机制都使用会话 Cookie 来保存 Session ID,而关闭浏览器后这个 Session ID就消失了, 再次连接服务器时也就无法找到原来的 Session。如果服务器 设置的 Cookie被保存到硬盘上,或者使用某种手段改写浏览 器发出的 HTTP请求头,把原来的 Session ID发送给服务器, 则再次打开浏览器仍然能够找到原来的 Session。 恰恰是由于关闭浏览器不会导致 Session被删除,迫使服 务器为 Seesion设置了一个失效时间,当距离客户端上一次使 用 Session的时间超过这个失效时间时,服务器就可以认为客 户端已经停止了活动,才会把 Session删除以节省存储空间。 6 结语 Session机制与 Cookie机制能提高网页的浏览速度,便于 查找浏览过的网页信息,提高工作效率。它们本身并不复杂, 但在实现和配置上的灵活性却使得具体情况复杂多变。这也 要求我们不能把仅仅某一次的经验或者某一个浏览器、服务 器的经验当作普遍适用的经验,而需要具体情况具体 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 。 参考文献 [1] 刘素英. 电脑知识与技术. 北京:电信科学出版社, 2006: 9~9. [2] 王雪松,李志蜀,童铭,熊科,林梅琴,袁晓玲. 计算机 应用研究, 2006:9~24. 作者简介 柳丽娜,女(1980-) 助理工程师,计算机技术。 29- -
本文档为【浅淡Session机制与Cookie机制】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_065940
暂无简介~
格式:pdf
大小:108KB
软件:PDF阅读器
页数:2
分类:互联网
上传时间:2012-07-05
浏览量:18