js 파일의 내용이 수정되었을 때 브라우저에서 기존 js 파일의 내용을 읽어들여 이를 최신파일이 읽어 들이도록 하는 방법에 대해 알아 보고자 합니다.
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 을 사용하시길 바랍니다.