source

내 자바스크립트 파일의 캐싱을 방지하는 방법은?

ittop 2023. 10. 24. 21:32
반응형

내 자바스크립트 파일의 캐싱을 방지하는 방법은?

간단한 html이 있습니다.

<html>
<body>
<head>
<meta charset="utf-8">
<meta http-equiv='cache-control' content='no-cache'>
<meta http-equiv='expires' content='0'>
<meta http-equiv='pragma' content='no-cache'>
<script src="test.js"></script>
</body>
</html>

test.js에서 자바스크립트 함수를 변경했는데 브라우저에서 이 파일을 캐싱하고 있습니다.스크립트 src의 캐시를 비활성화하는 방법?

임의 쿼리 문자열을 에 추가합니다.src

변경할 때마다 쿼리 문자열을 증가시켜 수동으로 이 작업을 수행할 수 있습니다.

<script src="test.js?version=1"></script>

또는 서버 사이드 언어를 사용하는 경우 자동으로 다음을 생성할 수 있습니다.

ASP.NET:

<script src="test.js?rndstr=<%= getRandomStr() %>"></script>

캐시 버스팅에 대한 자세한 정보는 여기에서 확인할 수 있습니다.

https://www. curtiscode.dev/post/front-end-dev/what-is-cache- bust

<script src="test.js?random=<?php echo uniqid(); ?>"></script>

편집: 또는 파일 수정 시간을 사용하여 클라이언트에 캐시되도록 할 수도 있습니다.

<script src="test.js?random=<?php echo filemtime('test.js'); ?>"></script>

스크립트에 대한 캐싱 제어 HTTP 헤더를 보내도록 웹 서버를 구성합니다.

HTML 문서의 가짜 머리글:

  1. 실제 HTTP 헤더만큼 잘 지원되지 않음
  2. HTML 문서에 적용, 연결되는 리소스에 적용하지 않습니다.

queryString을 src에 추가하고 업데이트 버전을 릴리스할 때만 변경할 수 있습니다.

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

이런 식으로 브라우저는 새 버전이 지정될 때까지 캐시된 버전을 사용합니다(v=2, v=3...).

스크립트를 가리키는 URL에 임의(또는 날짜 시간 문자열)를 쿼리 문자열로 추가할 수 있습니다.이와 같습니다.

<script type="text/javascript" src="test.js?q=123"></script> 

페이지를 새로 고칠 때마다 'q' 값이 변경되는지 확인해야 합니다.

언급URL : https://stackoverflow.com/questions/7413234/how-to-prevent-caching-of-my-javascript-file

반응형