재우니의 블로그

IIS : JS 파일 캐시 Cache 방지하기 (no-cache)

 

 

js 파일의 내용이 수정되었을 때  브라우저에서 기존 js 파일의 내용을 읽어들여 이를 최신파일이 읽어 들이도록 하는 방법에 대해 알아 보고자 합니다.

 

iis 설정 변경

 

IIS에서 캐싱 설정을 변경하여, js 파일이 변경될 때마다 다시 로드하도록 할 수 있습니다. 이 경우, iis에서 동적 콘텐츠로 설정해야합니다. 예를 들어, IIS 7.0 이상에서는 다음과 같은 web.config 파일을 사용하여 캐시 설정을 변경할 수 있습니다.

 

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <caching enabled="false" />
    <staticContent>
      <clientCache cacheControlMode="DisableCache" />
    </staticContent>
  </system.webServer>
</configuration>

 

브라우저 캐싱

 

가장 일반적인 방법으로, 브라우저가 js 파일을 캐싱하고 있는 경우, 기존 파일의 내용을 계속 사용합니다. 이 경우, 새로운 내용이 적용되지 않을 수 있습니다. 이를 방지하기 위해, js 파일의 URL에 버전 번호를 포함하여 새로운 버전이 있을 때마다 브라우저가 다운로드하도록 합니다. 예를 들어, js 파일의 URL을 다음과 같이 변경할 수 있습니다. 이 경우, 버전 번호가 변경될 때마다, 브라우저는 새로운 파일을 다운로드합니다.

 

<script src="/scripts/main.js?v=1"></script>

 

참고로 비용 절감을 위해 브라우저 캐싱을 추천 드립니다.

 

부득이 한 사항일 경우, iis 에서 no-cache 을 사용하시길 바랍니다.