选择显示字体大小

asp应用程序设计的web状态管理分析(2)

     在web上创建状态
  
    在页面请求和站点访问之间提供状态常用的方法是通过cookie。我们在前面的章节中已经看到,如何在客户端的计算机中存放相应的值,这些值与每个页面请求一起发送给对此cookie有效的域。通过用asp检查和更新cookie,在某种程度上能够保持一个状态。可以使用所包含的信息来识别用户,然后把用户连接到一个已存储相应值的集合。
  
    例如,可以检测一个用户请求是否包含一个站点指定的cookie。如果不包含,则为该用户分配一个某种类型的标识,指明一个数量,并存储在带有一个长有效期的cookie中。以后该用户对这个站点的每一次访问,都能够检测到cookie并更新所包含的信息。同时可以收集有关访问的次数和持续时间的数据,并存储在服务器上,以备将来使用。
  
    但是,如果用户转移到另一个计算机,或删除了cookie,或者他们的浏览器拒绝接收发送给他们的cookie,会发生什么事情呢?在这种情况下,不能维持状态,因为下一次不能识别他们现在,web上有许多cookie,大多数人会接受它们,而不加理会。如果打开浏览器中的“warn before accepting cookies”选项,接着漫游几个大的站点,你就会明白其中的含意。
  
    1. 匿名访问者与授权的访问者
  
    如果认为cookie是一个有点草率的解决方案,可以使用更直接的方法。许多站点采用的一种方法是,在访问者点击一个站点时,或者点击一个要求验证身份的页面时,弹出一个进行登录的对话框。访问者首先必须进行注册,获得一个某种类型的用户名/口令的组合,才能允许访问相应的站点或页面。
  
    为了证实访问者是一个已知的并且合法的用户,在访问者的计算机上放置的一个cookie,它或者保存注册的详细数据,或者是一把表明已验证过身份的“钥匙(key)”。同时,访问者的详细数据永久地保存在服务器上,准备再次访问时使用。如果访问者的浏览器中有了这样一个cookie,他就可以自由地访问该网站,因为已经验证过了。
  
    如果cookie没有有效期限(expires),cookie的值在关闭浏览器时自动消失,在下一次访问时必须重新注册和再次验证。当然,如果拒绝接收cookie或删除了cookie,就只能再次得到注册对话框。这样的话,如果不被识别,就不能访问该站点。
  
    通过强制用户就像注册到自己的网络一样注册到web服务器windows 2000整体安全性能为iis提供更强和更安全的验证功能。但是,这只能与inte.net explorer 3.0和之上版本的浏览器一起工作。iis也可以使用basic验证允许非microsoft浏览器注册web服务器
  
    2. 不再有匿名访问者
  
    在iis web服务器上使用asp时,除非用户离开该站点到另一个网站或者关闭了浏览器,否则能在当前会话中跟踪用户。在本章的后面,将看到如何使用这个功能来标识一个访问者、存储用户的本地信息和提供状态。下面与已经讨论过的解决方案相比较,讨论其工作方式。
  asp和iis共同提出了一个用户会话的概念,通过asp session对象进行交互。在每个访问者第一次访问服务器上的一个asp网页时,为他创建一个新的并且独立的会话对象,分配给该会话一个会话标识号,并把包含会话标识符的特殊加密版本的一个cookie发送给客户。
  
    cookie的路径(参看前面的章节有关cookie属性的描述)设置为运行在服务器上的asp应用程序的根路径。这很可能上缺省的web网站的根目录(即“/”),但也可能会是另外一个值(稍后会看到)。在cookie中没有提供expires值,所以当浏览器关闭时,cookie值也就消失。
  
    每当这个用户访问这个asp网页,asp都会查找这个cookie。命名为aspsessionidxxxxxxxx,其中每个x是一个字母字符。从第2章图2-7所示的servervariables集合,能够在http报头中看到它。
  
    但是,这个cookie不会出现在 request.cookies或response.cookies集合中,asp把它隐藏起来,但仍保存在浏览器上。对于每个asp网页请求,asp都要查看该值。这个cookie包含的值,指明了这个用户的会话。因此,相应的session对象(该对象在内存中已被处理,并且一直包含所有在前一页面请求过程中进行操作的值)的内容可以移交给asp网页中的脚本。
  
    当然,如前所述,如果客户浏览器不接收或不支持这些cookie,这个处理将失败。在这种情况下,不能创建asp会话,对这个访问者的状态也不进行自动维护。  


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons