2007-02-06

Linux下Web服务基于数据库的会话管理

来源: 本站收集整理 作者:佚名 评论 0 条
 

摘 要:本文讨论了Cookie技术和会话治理机制。采用RedHat7.2 Linux、Apache1.3.20和PostgreSQL7.1网络数据库实现了一个基于数据库会话治理的Web服务。

要害词:Web服务器 数据库 会话治理

1 Web服务中会话概念的产生

Cookie是Web服务器发送给Web浏览器的体积很小的纯文本信息,以文本文件的形式存放在用户的计算机中,这些Cookie一般用于保存用户的访问状态,当用户再次访问同一个网站时会将这些Cookie信息发送回服务器,使得服务器能够恢复用户上一次的访问状态。使用Cookie的根本目的是为了在用户访问期间实现不同页面之间的数据传输,以解决HTTP无状态的问题。Cookie技术能够增强网站的服务功能,为用户带来方便。但是Cookie还有许多限制和不足,如每台用户计算机一般只答应存放300个Cookie,同一个Web服务器只能发送20个Cookie等。

针对Cookie技术的局限性,美国微软公司首先提出了会话(Session)的概念[1],并将会话技术集成在ASP(动态服务器网页)语言中。会话是指用户访问Web服务器期间存放在Web服务器上的所有与用户访问状态有关的信息。每次新创建的会话都有一个唯一的标识串,称为会话ID,会话ID被保存在Web服务器中,其它会话信息都在会话ID的索引下进行保存和读取。一次会话从创建到被删除的时间称为会话生存期,会话生存期的长短由会话治理机制决定。Cookie与会话的不同之处在于:Cookie将用户访问的状态信息通过Web浏览器存放在用户计算机中,而会话通过会话治理机制存放在Web服务器中。

2 会话治理机制

会话的优势是它可以保存在Web服务器的内存、文件或数据库中,这样就有三种会话治理机制:基于内存的会话治理、基于文件的会话治理和基于数据库的会话治理。

基于内存的会话治理是运行速度最快的一种机制,它一般在Web服务器的内存中专门开辟一块共享内存区域,在这片内存区域中可直接快速地存取会话信息。这种机制对Web服务器的系统配置要求较高,需要系统资源能够负载较高的访问量,否则不仅不能提高访问速度,相反地还会因系统资源不足造成服务器负载过重。

基于文件的会话治理是使用最广泛的一种机制,会话信息一般以文本文件的形式存放在Web服务器的硬盘中。这种机制易于实现,对服务器的系统配置要求不高,但是存放会话信息的文件之间缺乏逻辑联系,当并发的访问量很大时会话治理的文件数目将增长很快,这不仅大大增加设计会话治理机制的难度,也会相应地影响存取会话信息的速度。

基于数据库的会话治理是最轻易扩展的一种机制,它需要Web服务器有一个网络数据库系统支撑,会话信息全部存放在网络数据库中,在数据库系统的支持下会话治理可以充分利用数据库具有的事务处理、安全存取和数据完整性检验等机制,有效地治理所有的会话信息。会话信息在数据库中相互之间很轻易建立起逻辑联系,设计出统一快速的存取方法。这种机制非凡适用于访问量很大的大中型Web网站。

以上三种会话治理机制具有各自的特点和优势,其比较见表1:

表1 基于内存、文件和数据库的三种会话治理机制的比较
共3页: 上一页 1 [2] [3] 下一页
(本文仅表明作者个人观点,不代表本站及其管理员立场.) 推荐 收藏 投稿 打印 返回 关闭
上一篇:让程序员立于不败之地的七种武器  
下一篇:程序员如何缓解压力,保持心理健康
    评论加载中…
 推荐文章
     

网站首页  -  网站地图 -   站长论坛  -  网站投稿  -    -  网站管理
Copyright © 2008 芜湖站长站 All Rights Reserved 皖ICP备07500611号