블로그 이미지

카테고리

데꾸벅 (194)
Publisher (39)
Scripter (97)
Programmer (1)
Designer (30)
Integrator (18)
Pattern Searcher (4)
News (2)
강좌 및 번역 (3)

최근에 올라온 글

최근에 달린 댓글

'apache expires'에 해당되는 글 1건

  1. 2009.01.29 Apache expires 설정으로 브라우저 캐시


Apache Module mod_expires 관련 글 : PHP스쿨에서 좋은 팁하나를 꼬불쳐 둔다.  
아래 내용은 여기저기서 관련글들을 모아모아서 정리하였다. 낭중에 서버관리할때 처리하면 편하겠네..  




apache에서는 mod_expires 모듈을 통해 Expires HTTP header 를 설정할 수 있다.
이를 통하여 클라이언트(웹페이지 방문자)에 캐싱되는 문서나 이미지들이 많아서 트래픽을
감소시킬 수 있다. 이미지 전용 서버나 이미지 디렉토리에 설정을 해두면 효과적이다.

이미지 서버에 지정한 다음 예를 보자.


<IfModule mod_expires.c>
        ExpiresActive On
        ExpiresDefault "access plus 1 month"

        # 제외할 디렉토리
        <Directory "/usr/local/apache/htdocs/temp">
        ExpiresActive Off
        </Directory>
</IfModule>

- ExpiresActive On 지시자로 Expires 설정을 enable 한다.
- ExpiresDefault "access plus 1 month" 지시자는 액세스한지 얼마나 지나서 expire할 것인지를 지정한다.
  즉, 지정한 기간만큼 클라이언트에 캐싱이 된다. 위에는 1달이다.

이외에 클라이언트에서 액세스한지 1달, 4주, 30일, 1년 등과 같은 expire 주기와
서버의 파일의 수정 시간으로 expire 주기를 설정할 수 있다.

ExpiresDefault "access plus 1 month"
ExpiresDefault "access plus 4 weeks"
ExpiresDefault "access plus 30 days"
ExpiresDefault "access plus 1 years"
ExpiresDefault "modification plus 30 days"



ExpiresDefault "<base> [plus] {<num> <type>}*"
ExpiresByType type/encoding "<base> [plus] {<num> <type>}*"

ExpiresByType image/bmp "access plus 1 month" 
ExpiresByType image/cgm "access plus 1 month" 
ExpiresByType image/gif "access plus 1 month" 
ExpiresByType image/jpeg "access plus 1 month" 
ExpiresByType image/png "access plus 1 month" 
ExpiresByType image/jpeg "access plus 1 month" 
ExpiresByType image/tiff "access plus 1 month" 
ExpiresByType image/png "access plus 1 month" 

ExpiresByType video/mpeg "access plus 1 month" 
ExpiresByType video/quicktime "access plus 1 month" 
ExpiresByType video/x-msvideo "access plus 1 month" 

ExpiresByType audio/basic "access plus 1 month" 
ExpiresByType audio/midi "access plus 1 month" 
ExpiresByType audio/mpeg "access plus 1 month" 
ExpiresByType audio/x-aiff "access plus 1 month" 
ExpiresByType audio/x-mpegurl "access plus 1 month" 
ExpiresByType audio/x-pn-realaudio "access plus 1 month" 
ExpiresByType audio/x-wav  "access plus 1 month" 

ExpiresByType application/x-shockwave-flash  "access plus 1 month"


- 설정 마지막부분에 Directory 지시자와 ExpiresActive Off 설정을 통해
  특정 디렉토리만 expire 설정에서 제외할 수 있다.
  반대로 특정 디렉토리만 On으로도 설정할 수 있다. (일반 웹서버에 /images 와 같이 디렉토리가 있는 경우)


ExpiresByType image/gif "acces plus 4 weeks"


- 위처럼 파일의 유형으로도 가능하다.



파일 다운로드 php 에는 

header('Pragma: cache'); // 아파치가 자동으로 no-cache 를 붙이기 때문에 넣어준다. 
header('Cache-Control: max-age=2592000'); 
header('Expires: '.substr(gmdate('r', strtotime('+1 MONTH')), 0, -5).'GMT'); 




Post by 넥스트리소프트 데꾸벅(techbug)
, |