Filter禁用瀏覽器快取
阿新 • • 發佈:2018-12-11
什麼是瀏覽器快取?
瀏覽器在使用者磁碟上對最近請求過的文件進行儲存,當訪問者再次請求這個頁面時,瀏覽器就可以從本地磁碟顯示文件,這就是瀏覽器快取。
為什麼使用瀏覽器快取?
對於瀏覽器快取,相信大家都不會陌生,因為我們經常使用它,但是我們為什麼使用瀏覽器快取呢?作為使用者,使用快取可以使我們更快的開啟一個已經訪問過的頁面。作為web站點的管理者,瀏覽器快取可以在一定程度上減少伺服器開銷,同時避免相同內容的重複傳輸帶來的頻寬浪費。
瀏覽器快取是如何產生的?
瀏覽器請求某個URL,服務端會根據請求返回相應內容,此時瀏覽器會把這些內容儲存起來,這樣就產生了瀏覽器快取。瀏覽器快取的產生同時依賴於瀏覽器和web伺服器,它們之間必然存在溝通,這種溝通機制我們稱之為“快取協商”。
Filter禁用快取:
21 @Override 22 public void doFilter(ServletRequest request, ServletResponse response, 23 FilterChain chain) throws IOException, ServletException { 24 // 在response的頭部設定Cache-Control、Pragma和Expires即可取消快取 25 HttpServletResponse resp = (HttpServletResponse)response; 26 resp.setHeader("Cache-Control", "no-cache"); 27 resp.setHeader("Pragma", "no-cache"); 28 resp.setDateHeader("Expires", -1); 29 chain.doFilter(request, resp); 30 } 31 1 <filter> 2 <filter-name>filterDemo3</filter-name> 3 <filter-class>com.oracle.filter.FilterDemo3</filter-class> 4 </filter> 5 6 <filter-mapping> 7 <filter-name>filterDemo3</filter-name> 8 <url-pattern>/*</url-pattern> 9 </filter-mapping>