본문 바로가기
개발관련/WEB

페이지가 캐시(Cache)되지 않도록 설정하기

by joa-yo 2019. 11. 14.
반응형

개발환경

  • Eclipse
  • spring, egovFrameWork
  • Tomcat 8.5
  • oracle 11g

개인적으로 프로젝트를 진행하는데, 스크립트 파일 수정에 어려움을 겪었다. 스크립트 파일(.js)을를 개별적으로 생성해서 필요한 페이지에서 호출해서 사용할 수 있도록 설정하였는데, 미리 호출된 스크립트파일이 브라우저에 캐쉬되어 있어 내용이 변경되지 않고 동일한 내용을 계속 보여주었다. 서버를 재시작하거나, 캐시를 지워봐도 마찬가지였다.

서버 구동시 사용되는 주소로 가보면, 내용도 변경되어 있으나 사용자 측에 적용이 되지 않는 것이었다. 즉, 브라우저 측에서 저장된 데이터를 계속하용한다는 것이다.

그래서 저장된 데이터를 사용하지 않도록 캐시설정을 해주었다.

 

캐시설정하기

캐시는 meta를 설정해주면 된다. 모든 페이지에서사용하는 공통 파일에 meta가 설정되어 있을 것이다. 그곳으로 가서 아래의 코드를 추가해주자.

HTTP/1.0 버전에서는 pragma를 사용하여 Cache설정을 하였다. HTTP/1.1 버전부터는 Cache-Control을 사용하여 캐시 설정을 할 수 있다.

HTTP/1.0 버전 -> pragma

1
2
3
<META http-equiv=""Expires"" content=""-1"">
<META http-equiv=""Pragma"" content=""no-cache"">


HTTP/1.1 버전 -> Cache-Control

1
2
3
<META http-equiv=""Cache-Control"" content=""no-cache"">

 

캐시를 사용하지 않도록 설정하기 위해서는 "no-cache"와 "no-store"로 설정할 수 있는데 "no-store"는 해당 파일을 브라우저에 저장하지 않는다는 의미로, 사용자가 요청시마다 파일을 새롭게 읽어들여야 한다. "no-cache"는 처음에는 파일을 읽어들여 캐쉬하고, 이것을 계속사용해도 되는지 서버에 체크한 뒤 파일에 변화가 있다면 다시 읽어서 캐쉬되게 한다.

 


참고 : https://softm.tistory.com/entry/%EC%96%B8%EC%96%B4%EB%B3%84-nocache-%EB%A6%AC%EC%8A%A4%ED%8A%B8

 

[Java] 언어별 no-cache 리스트

HTMLASP <% Response.Expires = 0 Response.AddH..

softm.tistory.com

https://www.imperva.com/learn/performance/cache-control/

 

What is Cache-Control and How HTTP Cache Headers Work | CDN Guide | Imperva

Learn how HTTP cache-control and other HTTP cache headers can help you manage browser and server-side caching policies.

www.imperva.com

https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/http-caching?hl=ko

 

HTTP 캐싱  |  Web Fundamentals  |  Google Developers

이전에 가져온 리소스를 캐싱하고 재사용하는 것은 성능 최적화의 중요한 측면입니다.

developers.google.com

 

반응형

'개발관련 > WEB' 카테고리의 다른 글

개인정보 마스킹 처리  (0) 2023.02.27
Chrome 개발자도구, 이벤트 발생 내역 확인하기  (0) 2022.12.28

댓글