[Apache] Apache에서 정적인 이미지들이 많을 경우 로컬 PC의 캐시에 저장하는 방안
본문 바로가기
IT 이야기/Apache

[Apache] Apache에서 정적인 이미지들이 많을 경우 로컬 PC의 캐시에 저장하는 방안

by 찬찬이 아빠 2019. 11. 19.
반응형

Apache에서 정적인 이미지들이 많은데 서버의 호출이 많습니다.

정적인 데이터들은 사용자의 로컬 PC의 캐시에 저장하여 서버의 부하를 줄입니다.

어떻게 해야 할까요?

 

Apache의 $HTTPD_HOME/conf.d/mod_expires.conf 파일을 생성하여 다음과 같이 설정합니다.

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
32
33
Header unset ETag
 
FileETag None
 
<IfModule mod_expires.c>
 
   ExpiresActive On
 
   # ExpiresDefault "access plus 30 minute"
 
   ExpiresByType image/jpg "access plus 1 week"
 
   ExpiresByType text/css "access plus 1 hours"
 
   ExpiresByType application/x-javascript "access plus 1 hours"
 
   <Files "*.html">
 
      ExpiresActive On
 
      ExpiresDefault "access plus 1 days"
 
   </Files>
 
   <Directory "/Cloud/Apache/www/html/css">
 
      ExpiresActive Off
 
   </Directory>
 
</IfModule>
 
SetEnvIfNoCase Request_URI "\.(gif|jpg|png|css|js|java)$" do_not_log
cs

 

추가 자세한 내용은 아래 사이트를 참고하세요!

http://httpd.apache.org/docs/2.4/mod/mod_expires.html

 

mod_expires - Apache HTTP Server Version 2.4

아파치 모듈 mod_expires 이 문서는 최신판 번역이 아닙니다. 최근에 변경된 내용은 영어 문서를 참고하세요. 요약 이 모듈은 서버 응답의 Expires HTTP 헤더와 Cache-Control HTTP 헤더의 max-age 지시어 설정을 조절한다. 만기일을 파일이 마직막 수정된 시간 혹은 클라이언트가 접속한 시간에 상대적으로 설정할 수 있다. 이 HTTP 헤더들은 클라이언트에게 문서의 유효성과 지속성을 알려준다. 이 시간이 아직 지나지않았다면, 문

httpd.apache.org

참고사항
사용자의 로컬에 저장되는 캐시는 ExpiresDefault에 정해진 시간에 따릅니다.
서버에서 이미지 수정 등 캐싱된 데이터의 수정이 있을 경우 사용자는 해당 시간 뒤에 데이터가 생신되는 문제가 있으니 변경이 잦은 시스템에서는 사용하지 않기를 권장하며 ExpiresDefault 값을 작게 잡아 사용하길 권장합니다.

 

반응형

댓글