티스토리 뷰
<script src="../../FormCheck.js?ver=2019_08_20_001" type="text/javascript"></script>
Js 파일을 변경하게 되면 로컬 pc에 쿠키가 남아있어 수정사항이 web에 바로 반영되지 않을 수 있다.
그래서 사용자들이 캐시를 지워야 하는 번거로움이 있다.
이 문제를 해결하기 위해 위처럼코딩하면 된다.
<link rel="stylesheet" type="text/css" href="../forms/lync.css" />
css 도 동일 href에 ?ver= 로 관리하면 됨.
- 참고 블로그
수정전 : <script type="text/javascript" src="/js/scripts.js"></script>
수정후 : <script type="text/javascript" src="/js/scripts.js?version=20071207"></script>
1번과 2번 방법이 섞인것 같아 보이는가? 하지만 아니다.
서버에는 실제로 scripts.js 파일만 올라가 있다.
또, 수정후에 뒤에 붙은 변수인 version=20071207은
php에서처럼 스크립트에 입력되는 request가 아니라 그냥 구분을 위해서 붙여놓은 것이다.
해단 request 변수는 js 파일에 영향을 미치지 않는다.
이렇게 해 두면 웹 브라우저는 버전별로 다른 웹 캐쉬를 생성하게 된다.
보통의 웹 브라우저는
/js/scripts.js?version=20071207 과
/js/scripts.js?version=20071208 이 있을 때
script.js파일이 변경이 없다고 하더라도 서로 다른 웹 캐쉬에 저장하도록 되어 있다
이것을 이용해서, 서버에는 scripts.js파일 하나만 존재하면서
사용자 브라우저에 남아있는 캐쉬가 갱신되어야 하는지 아닌지를 적절히 수정할 수 있다.
이런 이유로 1번 방법과는 달리 스크립트 파일의 버전관리를 쉽게 할 수 있다.
또한, 스크립트가 여러 페이지에 include되어 있는 경우라고 해도
어떤 페이지에서는
<script type="text/javascript" src="/js/scripts.js?version=20071207"></script>
또 다른 페이지에서는
<script type="text/javascript" src="/js/scripts.js?version=20071208"></script>
심지어는 어떤 페이지에서는
<script type="text/javascript" src="/js/scripts.js"></script>
와 같이 제각각으로 되어있더라도 서버에 script.js파일만 있으면 에러가 발생하지 않고,
또한 개발자가 의도하지 않은 경우에는 기본적으로 항상 인터넷 캐쉬가 정상동작하게 되어,
업그레이드시 발생할 수 있는 장애위험이 줄어들게 되고,
특히 스크립트 파일에 새로운 함수를 추가한 정도로만 변형하여 다시 갱신한 경우에 유용하다.
'Language > html,js,css' 카테고리의 다른 글
사업자 등록번호 유효성 검사 알고리즘 (2) | 2021.03.12 |
---|---|
CDATA 란 무엇일까 (0) | 2019.10.23 |
HTML 내 script 변경 시, 사용자가 캐시 지워야하는 불편함 없애는 방법 (0) | 2019.10.21 |
- Total
- Today
- Yesterday
- 런타임에러
- c#
- 백준14501
- 프론트엔드개발자
- 프론트엔드
- html꿀팁
- 개발중캐시삭제
- C++
- 퇴사
- 백준
- C# java 차이점
- boj
- 선언적트랜잭션 #noRollbackFor #@Transactional
- 캐시삭제
- script버전
- 백준퇴사
- html
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |