當前位置:首頁 » 文件管理 » 讓頁面不緩存

讓頁面不緩存

發布時間: 2022-01-09 18:44:20

『壹』 怎麼在jsp頁面不緩存

在有些應用中要求JSP不緩存數據,每次都從web伺服器重新生執行(非內存中的數據)後生成的數據取出來顯示在客戶機上。
這就要在JSP上強制不緩存,需要在JSP中加入以下代碼
%@pagecontentType="text/html;charset=gb2312"languang="java"buffer="none"%>
<METAHTTP-EQUIV="pragma"CONTENT="no-cache">
<%
//設置緩存為空
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires",0);
%>
<%
if(request.getProtocol().compareTo("HTTP/1.0")==0)
response.setHeader("Pragma","no-cache");
elseif(request.getProtocol().compareTo("HTTP/1.1")==0)
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires",0);
%>

『貳』 怎樣才能讓電腦打開網頁的時候不緩存

在IE的工具菜單選擇INTERNET選項,在彈出頁面里的INTERNET臨時文件方框里可以看到現在你的緩存文件夾在哪兒,也可以更改

『叄』 如何不讓網頁緩沖

<%@language=vbscript codepage=936%>
<%
Option Explicit
'強制瀏覽器重新訪問伺服器下載頁面,而不是從緩存讀取頁面
%>

『肆』 在頁面上進行緩存後又要保證局部的數據不緩存,如何實現

頁面部分緩存是指輸出緩存頁面的某些部分,而不是緩存整個頁面內容。實現頁面部分緩存有兩種機制:一種是將頁面中需要緩存的部分置於用戶控制項(.ascx文件)中,並且為用戶控制項設置緩存功能(包含用戶控制項的ASP.NET頁面可設置也可不設置緩存)。這就是通常所說的「控制項緩存」。設置控制項緩存的實質是對用戶控制項進行緩存配置。主要包括以下3種方法:一是使用@ OutputCache指令以聲明方式為用戶控制項設置緩存功能,二是在代碼隱藏文件中使用PartialCachingAttribute類設置用戶控制項緩存;三是使用ControlCachePolicy類以編程方式指定用戶控制項緩存設置。另外,還有一種稱為「緩存後替換」的方法。該方法與控制項緩存正好相反,將頁面中的某一部分設置為不緩存,因此,盡管緩存了整個頁面,但是當再次請求該頁時,將重新處理那些沒有設置為緩存的內容。

使用@ OutputCache指令

控制項緩存與頁面輸出緩存的@ OutputCache指令既有相似之處,又有不同的方面。二者的共同點在於它們的設置方法基本相同,都是文件頂部設置包含屬性的@ OutputCache指令字元串。不同點包括以下兩個方面:一是控制項緩存的@ OutputCache指令設置在用戶控制項文件中,而頁面輸出緩存的@ OutputCache設置在普通ASP.NET文件中。二是控制項緩存的@ OutputCache指令只能設置6個屬性,Duration、Shared、SqlDependency、VaryByControl、VaryByCustom和VaryByParam。而在頁面輸出緩存的@ OutputCache指令字元串中設置的屬性多達10個。以上是設置控制項緩存時需要注意的問題。下面列舉了一些利用@ OutputCache指令設置控制項緩存的示例,其中重點說明了VaryByParam和VaryByControl等屬性應用。

用戶控制項中的@ OutputCache指令設置源代碼

<%@ OutputCache Duration="120" VaryByParam="CategoryID;SelectedID"%>

以上代碼設置用戶控制項緩存有效期時間是120秒,並且允許使用CategoryID和SelectedID參數來改變緩存。通過VaryByParam屬性設置,在伺服器緩存中可能存儲多個用戶控制項的實例。例如,對於一個包含用戶控制項的頁面,可能存在如下的URL鏈接。

包含用戶控制項的頁面的URL鏈接

http://localhost/mypage.aspx?categoryid=foo&selectedid=0
http://localhost/mypage.aspx?categoryid=foo&selectedid=1

當請求如上URL地址的頁面時,由於控制項中@ OutputCache指令的設置,尤其是屬性VaryByParam的設置,那麼在伺服器緩存中就會存儲兩個版本的用戶控制項緩存實例。

控制項緩存設置除了支持以上所述VaryByParam屬性外,還支持VaryByControl屬性。VaryByParam屬性基於使用POST或者GET方式發送的名稱/值對來改變緩存,而VaryByControl屬性通過用戶控制項文件中包含的伺服器控制項來改變緩存。下面是VaryByControl屬性的應用示例代碼。

用戶控制項中的@ OutputCache指令設置源代碼

<%@ OutputCache Duration="120" VaryByParam="none" VaryByControl="Category" %>

以上代碼設置緩存有效期是120秒,並且頁面不隨任何GET或POST參數改變(即使不使用VaryByParam屬性,但是仍然需要在@ OutputControl指令中顯式聲明該屬性)。如果用戶控制項中包含ID屬性為「Category」的伺服器控制項(例如下拉框控制項),那麼緩存將根據該控制項的變化來存儲用戶控制項數據。

如果讀者已經掌握了頁面輸出緩存的@ OutputCache指令設置方法,那麼控制項緩存的@ OutputCache指令也會迎刃而解,無非僅使用其中的6個屬性而已。然而,可能會產生疑問:如果ASP.NET頁面和其中包含的用戶控制項都通過@ OutputCache指令設置了緩存,那麼緩存該如何運行呢?

遇到這個問題時,應掌握以下個基本原則:一是ASP.NET允許在頁面和頁面的用戶控制項中同時使用@ OutputCache指令設置緩存,並且允許設置不同的緩存過期時間值。二是如果頁面輸出緩存過期時間長於用戶控制項輸出緩存過期時間,則頁面的輸出緩存持續時間優先。例如,如果頁面輸出緩存設置為100秒,而用戶控制項的輸出緩存設置為50秒,則包括用戶控制項在內的整個頁將在輸出緩存中存儲100秒,而與用戶控制項較短的時間設置無關。三是如果頁面輸出緩存過期時間比用戶控制項的輸出緩存過期時間短,則即使已為某個請求重新生成該頁面的其餘部分,也將一直緩存用戶控制項直到其過期時間到期為止。例如,如果頁面輸出緩存設置為50秒,而用戶控制項輸出緩存設置為100秒,則頁面其餘部分每到期兩次,用戶控制項才到期一次。

『伍』 怎樣才能使ASP中完全不緩存頁面

1、在Asp頁面首部加入
Response.Buffer = True
Response.ExpiresAbsolute = Now() - 1
Response.Expires = 0
Response.CacheControl = "no-cache"
Response.AddHeader "Pragma", "No-Cache"

2、在HtML代碼中加入
<HEAD>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="0">
</HEAD>

3、在重新調用原頁面的時候在給頁面傳一個參數
Href="****.asp?a" a為一個隨即數,產生這個隨即數使瀏覽器認為他們是不同的頁面

『陸』 如何讓html頁面不緩存,js永久緩存

當瀏覽不同Url時,瀏覽器會自動將當前訪問的地址進行一次緩存;而第二次訪問時著調用緩存下來的頁面,從而達到頁面快速載入(頁面載入優化)的目的;
因此,我們可以給頁面後面設定個不同的值,讓頁面保持沒錯訪問的不同即可達到不緩存的目的了!
下面是個簡單的示例:

復制代碼 代碼如下:
<script>
document.write("<script type='text/javascript' src='/js/test.js?"+Math.random();+"'></script>");
</script>

其他的類似,只需在地址後加上+Math.random()
注意:因為Math.random() 只能在Javascript 下起作用,故只能通過Javascript的調用才可以
最後加一個ajax也不讓緩存的方法

復制代碼 代碼如下:
xmlHttp.open("GET", "ajax.asp?now=" + new Date().getTime(), true);

記得後面的now=" + new Date().getTime()是重點,需要帶參數的。
希望本文所述對大家的javascript程序設計有所幫助。
以上是雲棲社區小編為您精心准備的的內容,在雲棲社區的博客、問答、公眾號、人物、課程等欄目也有的相關內容,歡迎繼續使用右上角搜索按鈕進行搜索js , html , 頁面 不緩存 javascript 緩存、javascript 清除緩存、javascript緩存數據、javascript 本地緩存、javascript 緩存機制,以便於您獲取更多的相關知識。

『柒』 Jsp中如何讓客戶端不緩存頁面

『捌』 如何讓頁面不緩存javascript

如何讓頁面不緩存javascript
寫成單獨的函數
function OpenURL(){
var url="index.html"+"?a="+Math.random();
window.open(url);
}

然後你的Click調這個事件。注意URL里我加了隨機數,相當於每次請求的都是一個新的URL,瀏覽器就不再用緩存數據了。

這是必殺技,不用懷疑,只管去用就對了。

『玖』 頁面不緩存的作用

因為你每次動態生成的驗證碼的文件名都是一樣的,比如是:img.jpg 那麼系統就緩存了,下次再調用這個頁面的時候ie會認為存在這個圖片不會更新。導致驗證碼不對。

『拾』 怎麼通過修改html頭信息 讓用戶的瀏覽器不緩存靜態

<meta http-equiv="pragma" content="no-cache">,pragma與no-cache用於定義頁面緩存,不緩存頁面(為了提高速度一些瀏覽器會緩存瀏覽者瀏覽過的頁面,通過下面的定義,瀏覽器一般不會緩存頁面,而且瀏覽器無法離線瀏覽.)
<meta http-equiv="cache-control" content="no-cache">,常見的取值有private、no-cache、max-age、must-revalidate等,默認為private,其作用根據不同的重新瀏覽方式分為以下幾種情況:
1) 打開新窗口 值為private、no-cache、must-revalidate,那麼打開新窗口訪問時都會重新訪問伺服器。 而如果指定了max-age值,那麼在此值內的時間里就不會重新訪問伺服器,例如: Cache-control: max-age=5(表示當訪問此網頁後的5秒內再次訪問不會去伺服器)
2) 在地址欄回車 值為private或must-revalidate則只有第一次訪問時會訪問伺服器,以後就不再訪問。 值為no-cache,那麼每次都會訪問。 值為max-age,則在過期之前不會重復訪問。
3) 按後退按扭 值為private、must-revalidate、max-age,則不會重訪問, 值為no-cache,則每次都重復訪問
4) 按刷新按扭 無論為何值,都會重復訪問 Cache-control值為「no-cache」時,訪問此頁面不會在Internet臨時文件夾留下頁面備份。
<meta http-equiv="expires" content="0"> ,指定Expires值為一個早已過去的時間,那麼訪問此網時若重復在地址欄按回車,那麼每次都會重復訪問: Expires: Fri, 31 Dec 1999 16:00:00 GMT 比如:禁止頁面在IE中緩存 http響應消息頭部設置: CacheControl = no-cache Pragma=no-cache Expires = -1 Expires是個好東東,如果伺服器上的網頁經常變化,就把它設置為0,表示立即過期。

熱點內容
android彈出布局 發布:2024-09-20 19:14:29 瀏覽:981
預演算法包括 發布:2024-09-20 18:52:07 瀏覽:764
什麼數字後面跟著密碼 發布:2024-09-20 18:52:07 瀏覽:878
訂座源碼 發布:2024-09-20 18:52:06 瀏覽:383
手機mud源碼 發布:2024-09-20 18:51:28 瀏覽:940
3k我的使命腳本 發布:2024-09-20 18:11:43 瀏覽:691
建設銀行密碼怎麼設置 發布:2024-09-20 18:11:04 瀏覽:96
聚合腳本平台 發布:2024-09-20 17:51:55 瀏覽:182
訪問攔截怎麼解除安卓 發布:2024-09-20 17:28:48 瀏覽:277
蘿卜干存儲 發布:2024-09-20 17:21:37 瀏覽:719