CSS 혹은 JS 파일의 캐시

홈페이지를 개발 할 때 CSS, 혹은 JS파일을 외부에 두고 사용할 때가 많이 있다.

HTML은 수정할 때 즉시 반영이 되지만 외부에 있는 저런 파일들은 캐시 때문에 즉시 반영이 되지 않고 CTRL + SHIFT + R 키를 눌러서 브라우저를 완전 새로 고침해야 된다.

개발하는 사람이야 위의 키를 눌러서 새로고침 한다지만 기존에 홈페이지를 방문했던 사람들에게 수정된 페이지를 보이려고 완전새로고침을 강요할 수 없다. 따라서 CSS파일이나, JS파일이 수정 되는 즉시 반영 될 수 있도록 하는 방법이 필요하다.

가장 편한 방법은 파일명 뒤에 수정시각을 ver변수로 할당하는 방법이다.

가령 예를 들어 this_site.css?ver=1601100101 과 같은 표시형식이다. 완전한 표기는 아래와 같다.

<link rel=’stylesheethref=’/this_site.css?ver=1601100101′ type=’text/css‘ />

ver 뒤에 나오는 숫자는 파일이 변경 된 시점의 시각을 써주면 된다. php 함수로는 아래와 같다.

<?php

$cssVer = date(“ymdHis”,filemtime($_SERVER[‘DOCUMENT_ROOT’] .’/this_site.css’));

$css = ‘<link rel=”stylesheet” href=”/this_site.css?ver=’ . $cssVer . ‘” type=”text/css” />’;

?>

요런 식으로 코딩을 한다면 CSS파일을 수정하는 즉시 홈페이지에 반영이 될 것이다.
위에서 중요한 php 함수는 date()와 filemtime() 함수 정도이다.

글쓴이: sarang

가영, 혁 그리고 한영이 아빠

댓글 남기기

%d 블로거가 이것을 좋아합니다: