关闭

如何应用Session开发非Web终端,原理(无代码)

606人阅读 评论(0) 收藏 举报
Session(会话)是Web上较为有效的信息交互手段。因其使用方便、稳定、安全可靠而被众多Web开发者所青睐。尤其在互联网身份认证、网上电子购物等方面的应用更为广泛。无独有偶,笔者在开发一个财政项目的数据中心平台时,觉得数据传送部分的身份认证和信息交互与Web领域的Session控制极其相似。于是就想尝试一下这新技术,通过查阅大量资料后觉得在非Web客户端用Session进行信息交互也切实可行。经过反复测试成功后应用于项目中,成效显著,省去了较多的临时数据保存以及繁锁的状态检测,由Session自动维持状态。
好东西不能独享,笔者想把这次成功应用Session控制进行非Web开发的关键技术点讲述一下,来共同探讨。我们知道Cookie是Web上最常用的跟踪用户会话方式,当Cookie被禁止后,一般都用URL重写来跟踪会话。那么Cookie到底是什么东西呢?按照定义:Cookie是一种由服务器发送给客户的片段信息,存储在客户环境中,并且在客户所有的对服务器的请求中都要发回它。举个例子说,当我们用IE登录某个电子购物商城时,IE在得到商品列表页面的同时还收到Set-Cookie应答头信息。这个信息的格式为“Set-Cookie:NAME=VALUE;Comment=COMMENT;Domain=DOMAINNMAE;Max-age=SECONDS;Path=PATH;secure;Version=1*DIGIT”,其中NAME值对(值对间用分号分隔)是必须的,其余都是可选的。最重要的信息当然也在所必须的值对里了,VALUE是NAME的值,也是这个Cookie的标识,Max-age定义了Cookie的最长生存时间,其它几个可选值对可参阅http://www.faqs.org/rfcs/rfc2109.html。当我们选购了某种商品,向服务器发送选购清单时,会自动在你的请求信息头里加上NAME值对,如果Cookie被禁止,则用URL重写方式在URL请求地址上附加NAME值对。当Web服务器收到这个请求后,会检查该Cookie是否存在,然后相应的跟踪会话。从以上分析不难理解,其实Web服务器跟踪会话就靠Set-Cookie头信息,跟踪NAME值对进行身份验证。假如我们用非Web终端接收Web服务器的响应信息,从中解析出Cookie头信息,当再次向Web服务器发送请求时附加上解析出的Cookie信息,Web服务器据此不就可以进行身份认证了吗?
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:746686次
    • 积分:7555
    • 等级:
    • 排名:第2932名
    • 原创:137篇
    • 转载:36篇
    • 译文:3篇
    • 评论:117条
    最新评论