[英]How to add Cache-Control header to static resource in Spring Boot?
[英]Add an Expires or a Cache-Control header in JSP
如何在JSP中添加Expires
或Cache-Control
標頭? 我想在包含頁面中為我的靜態組件添加遠期到期日期,例如圖像,CSS和JavaScript文件。
要禁用JSP頁面的瀏覽器緩存,請創建一個映射在*.jsp
的url-pattern
上的Filter
,並在doFilter()
方法中doFilter()
以下操作:
HttpServletResponse httpResponse = (HttpServletResponse) response;
httpResponse.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1
httpResponse.setHeader("Pragma", "no-cache"); // HTTP 1.0
httpResponse.setDateHeader("Expires", 0); // Proxies.
這樣,您就不需要在所有JSP頁面上對其進行復制,並使用scriptlet將它們混亂。
要為CSS和JS等靜態組件啟用瀏覽器緩存,請將它們全部放在像/static
或/resources
這樣的公共文件夾中,並創建一個映射到/static/*
或/resources/*
的url-pattern
上的Filter
,並基本完成doFilter()
方法中的以下內容:
httpResponse.setDateHeader("Expires", System.currentTimeMillis() + 604800000L); // 1 week in future.
也可以看看:
<%
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
%>
<%
response.setHeader("Cache-Control", "no-cache"); //HTTP 1.1
response.setHeader("Pragma", "no-cache"); //HTTP 1.0
response.setDateHeader("Expires", 0); //prevents caching at the proxy server
%>
像Tomcat這樣的Servlet容器帶有一組預定義的過濾器。 請參閱例如Expires Filter 。 使用現有的可能比創建自己的類似過濾器更容易。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.