반응형

Chapter03. 헤더에 만료기간을 추가하라.


 사이트에 처음 방문한 사용자일 경우 여러 번의 HTTP 요청을 하게 될지도 모르지만 헤더 만료기한(Expires)을 이용함으로써 그 구성요소를 캐시에 저장할 수 있다.


1. 헤더의 만료기간.

 브라우저 캐시를 이용하여 HTTP의 요청 수를 줄일 수 있다. Expires헤더에서 지정한 시간 이후에는 해당 응답의 내용이 더 이상 유효하지 않다는 것이다. 


2. max-age 와 mod_expires 속성.

 Expires는 지정된 날짜를 이용하기 때문에 서버와 클라이언트가 시간을 맞추어 사용해야며 만료일에 대해 갱신해야 한다는 단점이 있다. 그리하여 HTTP/1.1 에서 소개된 Cache-Control은 Expires 의 한계를 보완하고자 max-age 속성을 설정하여 얼마 동안 캐시에 보관할지를 설정한다. 하지만 HTTP/1.1 을 지원하지 않는 브라우저에서는 Expires를 사용해야 하는데 기존의 단점이 문제가 된다.

 그 단점을 보완하고자 아파치에서 mod_expires 라는 모듈을 제공하고 있고 이 기능은 Expires 를 max-age 와 비슷하게 상대적인 시간으로 지정할 수 있게 해 준다. 

 둘 다 설정되어 있을 경우 우선순위는 Cache-Control 이 높으며 시간을 재설정하는 수고를 덜 수 있을 것이다.


3. 빈 캐시와 꽉 찬 캐시.

 서비스의 형태와 함께 PV, UV 를 고려하여 Expires를 생각하여야 한다.


4. 이미지 그 이상으로.

 헤더의 Expires는 이미지에 보통 사용하지만 이미지에 국한되어서는 최고의 성능을 발휘할 수 없다. 헤더의 Expires 속성은 스크립트나 스타일시트, 플래시와 같이 자주 변하지 않는 것에도 포함시켜야 한다.


5. 파일 이름의 활용.

 Expires가 설정된 상태에서 서버의 구성요소를 변경하였을 경우 사용자가 최신 정보를 받아보기 위해서 가장 좋은 방법은 구성요소의 주소를 변경하는 것이다. 그렇게 해서 서버로부터 완전히 새로운 구성요소를 로드하게 만드는 것이다.(ex.구성요소의 파일에 버전을 붙임)


반응형

+ Recent posts