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

转载 2012年03月27日 09:49:29
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服务器据此不就可以进行身份认证了吗?

如何应用Session开发非Web终端

Session(会话)是Web上较为有效的信息交互手段。因其使用方便、稳定、安全可靠而被众多Web开发者所青睐。尤其在互联网身份认证、网上电子购物等方面的应用更为广泛。无独有偶,笔者在开发一个财政项目...
  • bjbs_270
  • bjbs_270
  • 2004年11月05日 11:39
  • 1953

非web的JAVA应用使用Spring的依赖注入

普通JAVA应用程序使用Spring的依赖注入 需求:普通JAVA应用程序使用spring的依赖注入,但不关联其他额外包。 最近在写普通JAVA应用,开发只用了maven管理,没有利用其他框...
  • yyoc97
  • yyoc97
  • 2017年08月09日 18:11
  • 678

HTTP无状态协议和session原理(access_token原理)

无状态协议是指协议对务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。 Http协议不...
  • chollima
  • chollima
  • 2014年08月27日 08:52
  • 23577

Web 应用中的 Session 介绍

目录一、术语session二、HTTP协议与状态保持三、cookie四、理解session机制五、cookie机制与session机制的区别和联系六、HttpSession常见问题七、Session的...
  • princewong
  • princewong
  • 2007年07月19日 09:17
  • 3570

javaweb中深入理解HTTP Session

原文链接:51CTO博客 session在web开发中是一个非常重要的概念,这个概念很抽象,很难定义,也是最让人迷惑的一个名词,也是最多被滥用的名字之一,在不同的场合,session...
  • nankeyimengxihe
  • nankeyimengxihe
  • 2016年06月19日 21:01
  • 711

第一讲:跨终端Web解决方案(学习笔记)

1.React Native 2.移动到的应用有:WebAPP、NativeAPP、HybridAPP WebAPP:就是网站,HTML+CSS+JS,通过浏览器访问 NativeAPP:用原生...
  • luohuaxinyue
  • luohuaxinyue
  • 2015年12月11日 16:35
  • 674

Spring Boot 非web应用程序实例

在Spring Boot中,要创建一个非Web应用程序,实现CommandLineRunner并覆盖run()方法,例如: import org.springframework.boot.Comma...
  • lxh18682851338
  • lxh18682851338
  • 2017年11月17日 11:52
  • 725

web开发 开发一个能发送邮件的应用

开发一个能发送邮件的应用,前人种的树,借鉴 参考大牛的代码,做的小应用。 大概是这样的: 其中SMTP密码,并非用户名所对应的登录密码,而是在打开 163信箱这个服务时,自己设置的授权码,按步...
  • z8110
  • z8110
  • 2016年08月02日 15:34
  • 2424

Android程序猿必看之《终端应用开发指南》

一、前言4G移动网络的商用为移动互联网的蓬勃生长提供了肥沃的土壤,并协同国内外众多互联网厂商及终端厂商共同引领了中国移动互联网翻天覆地的发展与创新。2014年以来移动4G用户数目显著提升,拉动了全网用...
  • hp910315
  • hp910315
  • 2015年12月22日 11:17
  • 3554

Linux Serial console Linux串口终端配置 无显卡启动

注意:无显卡启动需主板支持,可看下BIOS有没有专用的设置,也可把 halt on 设置为No Errors试试。 目的: 台机已经装好Linux,显示器有问题,平时一般都SSH控制,当...
  • gxp
  • gxp
  • 2011年09月20日 16:20
  • 932
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何应用Session开发非Web终端,原理(无代码)
举报原因:
原因补充:

(最多只允许输入30个字)