翻新时间:2013-12-18
用ASP检测浏览器是否允许Cookie功能的方法
用ASP检测浏览器是否允许Cookie功能的方法 用ASP检测浏览器是否允许Cookie功能的方法 信息技术论文 更新:2006-4-8 阅读: 用ASP检测浏览器是否允许Cookie功能的方法
用ASP检测浏览器是否允许Cookie功能的方法
作 者:董云 YUN DONG
工作单位:黄埔海关技术处工程师
通讯地址:广州市经济技术开发区志诚大道海关大楼
电话号码:020-82130556
邮政编码:510730
电子邮件:dy168@163.net
摘 要:指出用ASP检测浏览器Cookie功能的误区,说明错误的原因,并给出
解决方法和源代码
关键词:浏览器、Cookie、信息记录区
一、前言
检测浏览器是否允许Cookie功能其实并不困难。许多的文章都讨论到这个问题,但是,这
些文章中往往存在着许多问题,使得读者容易混淆,甚至有些文章中所给出的方法根本就是
错误的。本文将一步一步地详细解释困难所在,并给出实用的ASP代码。
二、问题的提出
尽管现在的浏览器基本上都支持Cookie功能,但是用户可以通过设置将Cookie功能禁止,
对于希望将一些信息记录到浏览器上去的Web服务器,就必须要清楚前来访问的用户浏览
器是否支持Cookie功能,惟一的办法就是自己去测试用户浏览器是否支持Cookie。这个问
题似乎十分简单,正如许多文章中所介绍的一样,我先给出一段ASP代码,它似乎可以轻
易地完成任务。
Cookie_test.asp
<%@ Language="VBScript" %>
<%
Option Explicit
Dim CookieValueset
Dim CookieValueRead
CookieValueset="true"
CookieValueRead="false"
Response.Cookies("Cookie_test") = CookieValueset
Response.Cookies("Cookie_test").Expires = Date + 1
CookieValueRead = Request.Cookies("Cookie_test")
If CookieValueRead = CookieValueSet Then
Response.Write "浏览器支持Cookies"
Else
Response.Write "浏览器不支持Cookies"
End If
%>
实际上,上述代码在浏览器允许和禁止Cookie功能的情况下,均得到浏览器支持Cookie功
能的结果。为什么会产生这样的结果呢?首先让我们来看一下Cookie的原理。浏览器是遵
循HTTP协议访问Web服务器的,一个完全的HTTP请求是由浏览器发出申请,Web服务
器回应其申请的内容,在这个过程中,浏览器会提供一块信息记录区来存储一些特殊的信息,
这个信息记录区是可以由浏览器和Web服务器同时访问的,而Cookie就保存在这个信息记
录区中。通过这个信息记录区,Web服务器可以写入Cookie以记录一些信息,并且可以在
将来进行访问,直到这个Cookie的生命期终止。在ASP代码中的Response.Cookies和
Request.Cookies类就是用来访问Cookie的。
现在的问题在于,按照HTTP协议,在往浏览器中写入Cookie后,其内容实际上存在于缓
存之中,直到该页面终止,才将内容写入到浏览器提供的信息记录区中去。在同一页面中写
入Cookie后立即读出其内容,读出的是缓存中的临时信息,而不是信息记录区中真正的
Cookie内容,所以在上面的代码中,即使浏览器禁止Cookie功能,仍然得到成功写入Cookie
的结果。
三、问题的解决
要解决这个问题,可以有两个办法,第一个办法是利用两个页面文件来分别进行Cookie的
写入和读出,在第一个文件中写入Cookie,然后转向第二个文件读出并判断,这样可以轻
易地得到正确的结果。但访问两个页面文件的方法显然对Web服务器的管理添加了麻烦,
在不担心这个问题的前提下,这是一个最佳的解决方法。
第二个办法是利用ASP中的REDIRECT语句来解决问题,如下笔者给出ASP源代码。浏
下载文档
网友最新关注
- 初夏
- 初夏的麦子
- 快乐的“五一”
- 雁鸣湖游记
- 我家的小猫咪
- 美丽的农村
- 收割麦子
- 云台山
- 爱国旗
- 夏天到
- 骑马
- 为班级做好事
- 花园口游记
- 我最喜欢吃的水果
- 观黄河
- 试论语文教学改革中的几点思考
- 教育语言暴力问题探究
- 论逆反心理在德育中的积极意义
- 关于校企合作模式的研究与探讨
- 简述全球化视野下中国体育产业研究(1)
- 经济增长视角中我国制度分析方法的运用(1)
- 2008奥运会与2010世博会的投资比较(1)
- 试析高校网络思想政治教育的基本方式
- 外贸经济对我国整体经济的影响(1)
- 技术性贸易壁垒及其对国际贸易的影响(1)
- 基层央行履职创新:实践\障碍与路径
- 由系统动力学看陕北坡耕地可持续利用(1)
- 浅析庄子“三言”说理对大学语文教学改革的启示
- 浅析商业银行风险管理的策略
- 浅谈幼儿素质教育
- 《美丽的小路》第二课时
- 《美丽的小路》教学设计之二
- 《美丽的小路》
- 《棉鞋里的阳光》教学设计之四
- 《两只鸟蛋》教学设计之四
- 《两只鸟蛋》教学设计之五
- 《两只鸟蛋》第二课时
- 《两只鸟蛋》
- 《美丽的小路》教学设计之四
- 《两只鸟蛋》第一课时
- 《两只鸟蛋》教学设计之六
- 《月亮的心愿》教学设计之二
- 《月亮的心愿》
- 《两只鸟蛋》教学设计之三
- 《美丽的小路》教学设计之三