防止缓存服务器端包含文件

时间:2012-02-22 15:14:24

标签: caching asp-classic ssi

我有一个经典的ASP页面,使用Server Side Includes调用其他一些ASP文件。

我不希望任何浏览器缓存主文件和包含的文件。

目前我的主要看起来像这样:

<%@ Language="VBSCRIPT" %><% Option Explicit %>
<%
Response.CacheControl = "no-cache"
Response.AddHeader "Pragma", "no-cache"
Response.Expires=-1
%> 
<!--#include file="scripts1.asp"-->
<!--#include file="scripts2.asp"-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>myTitle</title>
<!--#include file="head.asp"-->
</head>
<body>
<!--#include file="body.asp"-->
</body>
</html>

我只在主页面上放置了Response.CacheControl,Response.AddHeader,Response.Expires代码,而不是在包含的文件中。

我的问题是:

  1. 所有服务器端包含的ASP页面都需要我使用的Response.CacheControlResponse.AddHeaderResponse.Expires代码,还是只需要主文件?

  2. 我使用的代码是否足以阻止所有浏览器的缓存?

1 个答案:

答案 0 :(得分:4)

正如您所示,只有“主”输出页面需要标题。服务器端包含在服务器内部发生,因此浏览器永远不会看到它。

你做对了。