咱們的調查代表,並不是全部瀏覽器都以統一的方式遵照HTTP緩存指令。 node
出於安全緣由,咱們不但願Web瀏覽器永遠緩存應用程序中的某些頁面。 這必須至少適用於如下瀏覽器: web
咱們的要求來自安全測試。 從咱們的網站註銷後,您能夠按返回按鈕並查看緩存的頁面。 chrome
我發現web.config路由頗有用(試圖將其添加到答案中,但彷佛未被接受,所以在此處發佈) express
<configuration> <system.webServer> <httpProtocol> <customHeaders> <add name="Cache-Control" value="no-cache, no-store, must-revalidate" /> <!-- HTTP 1.1. --> <add name="Pragma" value="no-cache" /> <!-- HTTP 1.0. --> <add name="Expires" value="0" /> <!-- Proxies. --> </customHeaders> </httpProtocol> </system.webServer>
這是express / node.js的相同方法: 瀏覽器
app.use(function(req, res, next) { res.setHeader('Cache-Control', 'no-cache, no-store, must-revalidate'); res.setHeader('Pragma', 'no-cache'); res.setHeader('Expires', '0'); next(); });
若是您遇到IE6-IE8經過SSL和MS Office文件使用cache:no-cache標頭(和相似值)的下載問題,則可使用cache:private,no-store標頭並在POST請求時返回文件。 有用。 緩存
//In .net MVC [OutputCache(NoStore = true, Duration = 0, VaryByParam = "*")] public ActionResult FareListInfo(long id) { } // In .net webform <%@ OutputCache NoStore="true" Duration="0" VaryByParam="*" %>
IE6中有一個錯誤 安全
即便使用「 Cache-Control:no-cache」,也會始終緩存帶有「 Content-Encoding:gzip」的內容。 app
http://support.microsoft.com/kb/321722 ide
您能夠爲IE6用戶禁用gzip壓縮(檢查用戶代理中的「 MSIE 6」) 測試
就我而言,我用這個解決了chrome的問題
<form id="form1" runat="server" autocomplete="off">
因爲安全緣由,當用戶單擊「後退」按鈕時,我須要清除先前表單數據的內容