我的網站正在快取 REST 請求。我對網站的速度很滿意,并希望保留快取。但是,我發現在發出 POST/PUT/DELETE 請求后回傳了相同的檔案。這意味著不會呼叫更新的資料庫。重繪 頁面后也會發生同樣的情況。我想在 POST/PUT/DELETE 請求后更新資料庫中的資訊。
我只是想知道如果最后一個 REST 請求不是 POST/PUT/DELETE,我是否可以設定一個條件陳述句來快取檔案?該網站托管在共享網路托管平臺上,我可以修改 .htaccess 檔案。非常感謝任何想法。我希望我的解釋清楚,但如果不是,請隨時與我們聯系。先感謝您
uj5u.com熱心網友回復:
為了停止瀏覽器快取,我們可以在 HTML 中添加以下屬性作為元標題。
快取控制:無快取,無存盤,必須重新驗證 Pragma:無快取過期:0
我們必須將上述標題保存在 html 頁面中,該頁面將在要使用的父 HTML 中。
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="0">
下面的代碼可以從 java servlet 或 nodejs 使用
response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
response.setHeader("Pragma", "no-cache"); // HTTP 1.0.
response.setHeader("Expires", "0");
servlet 代碼示例如下
public void doGet(HttpServletRequest req,HttpServletResponse response) throws ServletException,IOException
{
if(req.get[some field name].equals("last_request")){
response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
response.setHeader("Pragma", "no-cache"); // HTTP 1.0.
response.setHeader("Expires", "0");
}
}
下面的鏈接可以是這個執行緒的參考
我們如何跨所有瀏覽器控制網頁快取?
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/398110.html
上一篇:argparse輸入范圍函式
