From 720c49295c845f18ced23924ac8634662266af8f Mon Sep 17 00:00:00 2001 From: eastargh Date: Tue, 25 Aug 2026 13:24:35 +0900 Subject: [PATCH] =?UTF-8?q?js/css=20=EC=BA=90=EC=8B=9C=20=ED=97=88?= =?UTF-8?q?=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../eai/rms/common/filter/CrossScriptingFilter.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/eactive/eai/rms/common/filter/CrossScriptingFilter.java b/src/main/java/com/eactive/eai/rms/common/filter/CrossScriptingFilter.java index 498cc45..7355852 100644 --- a/src/main/java/com/eactive/eai/rms/common/filter/CrossScriptingFilter.java +++ b/src/main/java/com/eactive/eai/rms/common/filter/CrossScriptingFilter.java @@ -78,9 +78,16 @@ public class CrossScriptingFilter implements Filter { } // Web Cache Deception - response.setHeader("Cache-Control", "no-store, no-cache, must-revalidate"); - response.setHeader("Pragma", "no-cache"); - response.setDateHeader("Expires", 0); + // js/css 정적 리소스는 캐시를 허용 (화면 오픈 시마다 재다운로드되는 문제 방지) + String servletPath = request.getServletPath(); + boolean isStaticAsset = servletPath != null + && (servletPath.endsWith(".js") || servletPath.endsWith(".css")); + + if (!isStaticAsset) { + response.setHeader("Cache-Control", "no-store, no-cache, must-revalidate"); + response.setHeader("Pragma", "no-cache"); + response.setDateHeader("Expires", 0); + } chain.doFilter(new RequestWrapper(request), response); //