1. 현상
일부 사용자 PC에서만 간헐적으로 발생하고, Ctrl+Shift+R(강력 새로고침) 여러 번 수행 시 정상화
2. 설정
weblogic.xml에 jsp page-check-seconds 1초 적용
→ WebLogic의 JSP 컴파일 및 반영 자체는 정상적으로 이루어지고 있는 것으로 보임
3. 원인 추측
서버의 JSP 반영 문제라기보다는, 클라이언트(브라우저) 또는 중간 경로(IIS/Proxy)에서 이전 결과물을 캐싱하고 있어 발생하는 현상으로 추측
- 사용자 브라우저 캐시: 브라우저가 JSP 출력 결과나 연결된 정적 리소스를 서버에 요청하지 않고 로컬 저장소에서 불러오는 경우
- IIS 및 Proxy 캐시: WebLogic 앞단의 IIS 서버가 변경 전 데이터를 보관하고 있다가 사용자에게 전달
※ 현재 확인 범위에서는 해당 JSP가 내부적으로 XML 및 관련 라이브러리 중심으로 동작하고 있어, JS/CSS 등 정적 리소스 불일치보다는 응답 캐시 영향 가능성이 더 높은 것으로 보임
4. 조치 방안 3가지
[조치 1 - WLS Plug-in no-cache header 설정 / Apache, OHS] (권장)
Directory, VirtualHost에 설정 또는 httpd.conf에 글로벌 변수 설정
| <Directory> ... # Cache - Static Resource Header Set Pragma "no-cache" Header Set Expires "Thu, 1 Jan 1970 00:00:00 GMT" Header Set Cache-Control "max-age=0,no-store,no-cache,must-revalidate" Header Unset ETag FileETag None </Directory> 또는 ... (httpd.conf) Header Set Pragma "no-cache" Header Set Expires "Thu, 1 Jan 1970 00:00:00 GMT" Header Set Cache-Control "max-age=0,no-store,no-cache,must-revalidate" Header Unset ETag FileETag None |

[조치 2 - 버전 관리로 정적 파일 캐시 사용 방지]
이번 경우는 아니지만, js나 css와 같은 정적 리소스를 변경해도 캐시 문제로 이전 페이지가 보이는 경우가 있다.
| <link rel="stylesheet" type="text/css" href="test.css?version=20260416"> |
[조치 3 - 특정 JSP에 no-cache 설정]
- 해당 JSP 파일 상단에 아래의 캐시 방지 헤더 추가를 권고드립니다.
이 설정은 브라우저 및 중간 서버(Proxy, IIS 등)가 해당 페이지를 저장하지 않도록 하여, 매 요청 시 최신 데이터를 직접 받아오도록 합니다.
| <% response.setHeader("Cache-Control","no-cache, no-store, must-revalidate"); response.setHeader("Pragma","no-cache"); response.setDateHeader("Expires",0); %> <!DOCTYPE html> <html> … </html> |
[조치 4 - IIS 응답 헤더 설정] (권장X)
1) HTTP 응답 헤더 > 일반적인 헤더 설정: 웹 콘텐츠 만료(즉시 만료)


2) web.config 확인

'Middleware(WAS) > Java' 카테고리의 다른 글
| Server Performance Stats (0) | 2026.02.23 |
|---|---|
| WAR vs JAR (0) | 2026.02.20 |
| [Database] Connection Pool, DataSource (0) | 2023.10.24 |
| Thread 및 Thread Dump (0) | 2023.08.29 |