[10.3.5] 이미지 변경 시 Reloading 관련 테스트 & 결과
안녕하세요.
WebLogic Server의 파라미터 설정에 따른 이미지 로드,
Web Application의 Ajax 사용시의 이미지 로드를 테스트 하였습니다.
테스트 환경은 WebLogic 11g 10.3.5 (Windows) 입니다.
1) weblogic.xml 파라미터 테스트
파라미터 |
새로고침 시 반영 여부 (HTML, JSP) |
웹로직 재시작 후 반영 여부 |
|
page-check-seconds |
resource-reload-check-secs |
||
1 |
1 |
O |
O |
1 |
-1 |
||
-1 |
1 |
브라우저 캐시 삭제 必 |
|
-1 |
-1 |
ü page-check-seconds가 resource-reload-check-secs를 override 하기 때문에, 해당 파라미터를 동시에 사용하게 될 경우 page-check-seconds만 유효하게 됩니다
ü 변경될 이미지의 최종 수정 날짜가 기존의 이미지와 동일 또는 이전일 경우, 새로고침 및 웹로직 재시작을 하여도 반영되지 않습니다.
2) Ajax 이미지 로딩 테스트
Ajax로 이미지를 불러오게 될 경우, ajax의 cache 파라미터가 기본적으로 true로 설정되어 있어 weblogic.xml 내 이미지 로딩과 관련된 파라미터 값을 무시합니다. 따라서 변경된 이미지가 바로 반영되지 않으나, 서버를 재기동 할 경우에는 반영이 됩니다
- Ajax 사용시의 cache를 사용 하지 않기 위해서는 다음과 같이 설정 해야 합니다.
1) cache 값을 false로 설정
$.ajax({ type: 'POST', url: baseURL, dataType: 'html', cache: false, data: { |
2) 이미지 url에 cachebuster 파라미터와 현재 시간 값을 추가
profileimg.jpg?cachebuster=" + new Date().getTime() |
<요약>
웹로직 자체 내 캐싱 기능은 없으며(공식 답변), Ajax 내에 cache 속성의 default가 true이기 때문에 Ajax로 이미지를 호출하게 될 경우 변경할 이미지를 업로드 하더라도 바로 반영이 되지 않습니다.
따라서 상단의 내용대로, Ajax의 cache 값을 false로 설정하거나 이미지 url에 cachebuster 파라미터를 추가하는 방법을 사용하여 재기동 없이도 이미지가 변경되도록 할 수 있습니다.
감사합니다.