热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ASP如何清除页面缓存。Cookies集合,Buffer,Expires,ExpiresAbsolute,CacheControl

ASP如何清除页面缓存如何清除页面缓存,禁止页面缓存,如何禁止禁止页面缓存当使用ASP进行Web编程时,你发现确实修改了程序代码&#x

ASP如何清除页面缓存

如何清除页面缓存,禁止页面缓存,如何禁止禁止页面缓存

当使用ASP进行Web编程时,你发现确实修改了程序代码,确认没有改错,却发现输出的Webyemi8an没有变化,这就是服务端将此ASP文件加入了页面缓存。

     清楚页面缓存有一下几种方法;

     1.在ASP页面首部加入一下代码:

       Response.Buffer=True

       Response.ExpiresAbsolute=Now()-1

       Response.Expires=0

       Response.CacheControl=“no-cache”

       Response.AddHeader “Pragma”,“no-Cache”

     2.在HTML代码中加入下面的代码,不过这些代码似乎不能解决刷新无效的问题,因为这些代码只是针对客户端的页面缓存而已,只具有清楚客户端的页面缓存的功能。

      

       

       

       

      

     3.如果一个ASP文件是url.asp,那么在访问的时候,脚本链接应该为:

      

========================================================================================

COOKIEs 集合,Buffer,Expires,ExpiresAbsolute,CacheControl  


实例

"Response.COOKIEs" 命令用于创建 COOKIE 或者设置 COOKIE 的值:

<%
Response.COOKIEs("firstname")&#61;"Alex"
%>在上面的代码中&#xff0c;我们创建了一个名为 "firstname" 的 COOKIE&#xff0c;并为它赋值 alex 。

也可以为 COOKIE 设置属性&#xff0c;比如设置 COOKIE 的失效时间&#xff1a;

<%
Response.COOKIEs("firstname")&#61;"Alex" 
Response.COOKIEs("firstname").Expires&#61;#May 10,2002#
%>现在&#xff0c;名为 "firstname" 的 COOKIE 的值是 "Alex"&#xff0c;同时它在用户电脑中的失效日期是 2002 年 5 月 10 日。

"Request.COOKIEs" 命令用于取回 COOKIE 的值。

在下面的例子中&#xff0c;我们取回了 COOKIE "firstname" 的值&#xff0c;并把它显示到页面上&#xff1a;

<%
fname&#61;Request.COOKIEs("firstname")
response.write("Firstname&#61;" & fname)
%>输出&#xff1a;

Firstname&#61;Alex

一个 COOKIE 可以包含一个多值的集合。我们称之为 COOKIE 拥有 key 。

在下面的例子中&#xff0c;我们要创建一个名为 "user" 的 COOKIE 集合。"user" COOKIE 拥有包含有关用户信息的 key 。

<%
Response.COOKIEs("user")("firstname")&#61;"John"
Response.COOKIEs("user")("lastname")&#61;"Adams"
Response.COOKIEs("user")("country")&#61;"UK"
Response.COOKIEs("user")("age")&#61;"25"
%>下面的代码可读出所有服务器已向用户发送的 COOKIE 。请注意&#xff0c;我们使用了 HasKeys 属性来判断 COOKIE 是否拥有 key &#xff1a;


<%
dim x,y

for each x in Request.COOKIEs
  response.write("

")
  if Request.COOKIEs(x).HasKeys then
    for each y in Request.COOKIEs(x)
      response.write(x & ":" & y & "&#61;" & Request.COOKIEs(x)(y))
      response.write("
    next
  else
    Response.Write(x & "&#61;" & Request.COOKIEs(x) & "
")
  end if
  response.write "

"
next
%>



%>输出&#xff1a;

firstname&#61;Alex
user:firstname&#61;John
user:lastname&#61;Adams
user:
country&#61;UK
user:
age&#61;25


&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;

不知道大家对Buffer了解多少&#xff0c;很多人对这个概念都比较模糊&#xff0c;尤其是在asp中。很多初学者在编写asp程序时很少用到这条语句&#xff0c;下面我就来说说Buffer的用途以及它在asp程序中的作用。 
一、Buffer 
Buffer从英文直译过来的意思是“缓冲区”&#xff0c;这里我们将它称为缓冲&#xff0c;因为它不仅是个名词&#xff0c;还是个动词。 
缓冲区是存储一系列的数据的地方&#xff0c;客户端所获得的数据可以从程序的执行结果直接输出&#xff0c;也可以从缓冲区输出。但是这两种方式在速度上是有差异的&#xff1a;在web中&#xff0c;当一个asp程序被请求的次数不多时&#xff0c;二者基本上没有什么差异&#xff0c;至少我们感觉不出来。但是当有很多人请求一个asp程序时&#xff0c;速度可就不一样了。假如没有缓冲区&#xff0c;那么每个请求asp程序的人的客户端所得到的结果都是asp程序执行一次所得到的结果&#xff0c;而假如预先将asp程序缓冲&#xff0c;那么每个客户端所得到的结果就是缓冲区的结果&#xff0c;不是执行一次程序的结果。比如有1000个用户同时访问一个asp页面&#xff0c;假如这个asp程序没有缓冲&#xff0c;那么程序将被执行一千次&#xff0c;这样服务器的负荷就回加大&#xff0c;从而导致客户端打开页面速度变慢&#xff1b;假如这个asp程序被缓冲了&#xff0c;那么结果就不一样了&#xff0c;每个客户端直接从缓冲区获得数据&#xff0c;服务器将不会因为访问增加而增加程序执行次数&#xff0c;因此客户端打开页面的速度也就比上一种情况要快。这就是Buffer的好处。 
二、如何将asp程序缓冲 
这个问题其实很简单&#xff0c;只要在asp程序的第一行加上&#xff1a; 
<% Response.Buffer &#61; True %> 
就可以了。 
这句话的意思就是指明输出页面是否被缓冲&#xff0c;当属性值为True时&#xff0c;服务器将不会向客户端发送任何信息&#xff0c;直到所有程序执行完或者碰到 
<% Response.Flush %>或<% Response.End %> 
语句&#xff0c;才会释放缓冲区的信息。 
三、总结 
Response的Buffer属性虽然能够提高页面显示速度&#xff0c;但是也要分什么情况。假如你正在制作一个普通的个人主页&#xff0c;访问量不是很高&#xff0c;并且没有什么复杂的执行程序&#xff0c;那么用不用这个属性就不是很重要&#xff0c;因为将数据缓冲也需要一段时间&#xff0c;只不过我们感觉不到罢了&#xff1b;但是假如你正在制作一个大型论坛或者一个产品展示或其他的商务站点&#xff0c;并且访问量很高&#xff0c;那么我建议在程序的第一行加入 
<% Response.Buffer &#61; True %> 
这句话&#xff0c;因为这样能够让客户在有效的时间内获得更多的数据。 
&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;

Response.Expires

一般情况下&#xff0c;当用户请求WEB服务器时&#xff0c;服务器把请求回复给客户端。在客户端&#xff0c;浏览器把缓存作为一种加快速度的策略&#xff0c;就是当请求时先检查缓存的情况&#xff0c;如果有就直接调缓存了&#xff0c;而不请求服务器了。 在WEB程序设计中&#xff0c;有时为了防止重复的提交或者严格的次序等&#xff0c;必须让用户的数据立即在使用后就过期&#xff0c;当用户后退时就显示过期而不能继续使用。也算是为安全考虑的吧。 一般&#xff0c;response.expires写在页面的最上端&#xff0c;后面跟的是一个时间&#xff0c;就是过期的时间&#xff0c;0表示立即过期。 -1也是一样的道理&#xff0c;即是-9999也是一样的。

如&#xff1a;登陆验证码&#xff0c;使用Response.Expires &#61; -1可以在登陆失败时点后退按钮后让验证码换一个&#xff0c;而不是原先的那一个。

Response.CacheControl &#61; "no-cache"

设置不缓存在临时文件中&#xff0c;本句是指&#xff0c;上网时看到的图片通常在internet的临时文件都能够找到对应的文件&#xff0c;如果加上这一句就找不到了。

Response.expires&#61;0也表示立即过期&#xff0c;但如果client和server不在一个时区或者client的时间早于server上的时间&#xff0c;则不能立即过期。所以用负数或者用Response.ExpiresAbsolute&#61;now()-1来表示立即过期&#xff0c;response.expires&#61;1表示在1分钟后过期。

 

asp中Response.ExpiresAbsolute&#61;now()-1

 

在asp页面中&#xff0c;通常会有这样的设置。

 

Response.ExpiresAbsolute&#61;now()-1‘设置过期时间的绝对值为当前时间-1,即出来后就过期了

 

这是因为默认情况下&#xff0c;浏览器将页面先载入缓存&#xff0c;然后才显示出来&#xff0e;通过上述设置&#xff0c;使浏览器对页面不进行缓存&#xff0c;所以当用户点&#xff02;后退&#xff02;后&#xff0c;由于页面没有缓存&#xff0c;所以浏览器只能再次通过向服务器发出&#xff28;&#xff34;&#xff34;&#xff30;请求来得到页面&#xff0c;这样就实现了限制了用户对同一网页进行多次操作。

 

asp中Response.Expires &#61; -1

 

一般情况下&#xff0c;当用户请求WEB服务器时&#xff0c;服务器把请求回复给客户端。在客户端&#xff0c;浏览器把缓存作为一种加快速度的策略&#xff0c;就是当请求时先检查缓存的情况&#xff0c;如果有就直接调缓存了&#xff0c;而不请求服务器了。 

在WEB程序设计中&#xff0c;有时为了防止重复的提交或者严格的次序等&#xff0c;必须让用户的数据立即在使用后就过期&#xff0c;当用户后退时就显示过期而不能继续使用。也算是为安全考虑的吧。 

一般&#xff0c;response.expires写在页面的最上端&#xff0c;后面跟的是一个时间&#xff0c;就是过期的时间&#xff0c;0表示立即过期。

 

<%&#64;LANGUAGE&#61;"Vbscript" CODEPAGE&#61;"936"%>
<% 
Response.ExpiresAbsolute&#61;#2010-8-5 14:09:30#   
if now>Response.ExpiresAbsolute then    
response.Write("该页面已过期")     
else
response.Write("欢迎光临&#xff01;&#xff01;")     
end if
%>

 

 


推荐阅读
  • 单页面应用 VS 多页面应用的区别和适用场景
    本文主要介绍了单页面应用(SPA)和多页面应用(MPA)的区别和适用场景。单页面应用只有一个主页面,所有内容都包含在主页面中,页面切换快但需要做相关的调优;多页面应用有多个独立的页面,每个页面都要加载相关资源,页面切换慢但适用于对SEO要求较高的应用。文章还提到了两者在资源加载、过渡动画、路由模式和数据传递方面的差异。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • ASP.NET2.0数据教程之十四:使用FormView的模板
    本文介绍了在ASP.NET 2.0中使用FormView控件来实现自定义的显示外观,与GridView和DetailsView不同,FormView使用模板来呈现,可以实现不规则的外观呈现。同时还介绍了TemplateField的用法和FormView与DetailsView的区别。 ... [详细]
  • WebSocket与Socket.io的理解
    WebSocketprotocol是HTML5一种新的协议。它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送 ... [详细]
  • 本文介绍了响应式页面的概念和实现方式,包括针对不同终端制作特定页面和制作一个页面适应不同终端的显示。分析了两种实现方式的优缺点,提出了选择方案的建议。同时,对于响应式页面的需求和背景进行了讨论,解释了为什么需要响应式页面。 ... [详细]
  • Android实战——jsoup实现网络爬虫,糗事百科项目的起步
    本文介绍了Android实战中使用jsoup实现网络爬虫的方法,以糗事百科项目为例。对于初学者来说,数据源的缺乏是做项目的最大烦恼之一。本文讲述了如何使用网络爬虫获取数据,并以糗事百科作为练手项目。同时,提到了使用jsoup需要结合前端基础知识,以及如果学过JS的话可以更轻松地使用该框架。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文是一位90后程序员分享的职业发展经验,从年薪3w到30w的薪资增长过程。文章回顾了自己的青春时光,包括与朋友一起玩DOTA的回忆,并附上了一段纪念DOTA青春的视频链接。作者还提到了一些与程序员相关的名词和团队,如Pis、蛛丝马迹、B神、LGD、EHOME等。通过分享自己的经验,作者希望能够给其他程序员提供一些职业发展的思路和启示。 ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • 在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的步骤和方法
    本文介绍了在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的详细步骤和方法。首先需要下载最新的Java SE Development Kit 9发行版,然后按照给出的Shell命令行方式进行安装。详细的步骤和方法请参考正文内容。 ... [详细]
  • 使用圣杯布局模式实现网站首页的内容布局
    本文介绍了使用圣杯布局模式实现网站首页的内容布局的方法,包括HTML部分代码和实例。同时还提供了公司新闻、最新产品、关于我们、联系我们等页面的布局示例。商品展示区包括了车里子和农家生态土鸡蛋等产品的价格信息。 ... [详细]
author-avatar
你看看我的世界_420
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有