開啟 expires 模組讓瀏覽器使用本地 cache

內文

mod_expires 會在所啟用快取類型的 Response Headers 中加入 Expires 資訊, 瀏覽器接收到該資訊便知道該資源是可快取的, 之後再度讀取該資源便會使用本機端的 cache 而不會再度向 server 發出 request 的要求, 進而減少 server 的頻寬和資源消耗。

screen-2014-05-23-4-478x340

該模組預設下是沒有啟動的 (在 ubuntu 14.04 LTS 下安裝的 apache2),也可透過指令來查詢該模組是否已啟用:

# a2query -m expires

啟用模組:

# a2enmod expires

設定模組(全域啟用):

# vi /etc/apache2/apache2.conf

#範例# 在任意處添加:

<IfModule mod_expires.c>
ExpiresActive On #No cache by default type 
ExpiresDefault A0 #cache 1 year 
<FilesMatch ".(svg|eot|woff|ico|pdf|avi|mov|ppt|doc|mp3|m4v|wmv|wav)$">
ExpiresDefault A29030400 
</FilesMatch> #cache 1 week 

<FilesMatch ".(gif|jpg|jpeg|png|swf)$"> ExpiresDefault A604800 
</FilesMatch> #cache 1 month 
<FilesMatch ".(xml|txt|html|js|css)$"> ExpiresDefault "access plus 1 month" 
</FilesMatch> 
</IfModule>

如要在某個資料夾下作用用法則是將設定寫在 .htaccess 裏頭

參數說明:

ExpiresActions On | Off  – 開啟或關閉Expires 功能

ExpiresDefault base | plus | num | num type

base 接受的類型有:

  • access
  • now (相當於 access)
  • modification

num type 接受的類型有:

  • years
  • months
  • weeks
  • days
  • hours
  • minutes
  • seconds

example: ExpiresDefault access plus 2 hours (訪問後兩個小時)

或者用下面語法較為簡短:

ExpiresDefault <code>seconds – code 相當於 base 的開頭縮寫

example: ExpiresDefault A14400 (訪問後四個小時)

 

time cheat sheet

#      300   5 MIN
#      600  10 MIN
#      900  15 MIN
#     1800  30 MIN
#     2700  45 MIN
#     3600   1 HR
#     7200   2 HR
#    10800   3 HR
#    14400   4 HR
#    18000   5 HR
#    36000  10 HR
#    39600  11 HR
#    43200  12 HR
#    46800  13 HR
#    50400  14 HR
#    54000  15 HR
#    86400   1 DAY
#   172800   2 DAY
#   259200   3 DAY
#   345600   4 DAY
#   432000   5 DAY
#   518400   6 DAY
#   604800   1 WEEK
#  1209600   2 WEEK
#  1814400   3 WEEK
#  2419200   4 WEEK
#  4838400   2 MONTH
#  7257600   3 MONTH
#  9676800   4 MONTH
# 12096000   5 MONTH
# 14515200   6 MONTH
# 16934400   7 MONTH
# 19353600   8 MONTH
# 21772800   9 MONTH
# 24192000  10 MONTH
# 26611200  11 MONTH
# 29030400  12 MONTH

更詳盡的用法可參照 apache2 doc

Likol

哈囉!

You may also like...

發佈留言