Trên môi trường production, việc thiết lập để browser ở phía client cache lại các file tĩnh (như png, jpg, js, css...) giúp tăng thời gian load trang và giảm tải băng thông cho server. Dưới đây là cách thiết lập cho Apache để set header `Expires` cho những file tĩnh, giúp browser cache lại chúng. Môi trường thiết đặt: * Centos 6.8 * Apache 2.4 ### Load module mod_expires Thêm dòng sau vào file config của Apache (thông thường là file `/etc/httpd/conf/httpd.conf`) ~~~ LoadModule expires_module modules/mod_expires.so ~~~ ### Thiết lập mod_expires Thiết lập cho mod_expires có thể đặt trong thiết lập chung của Apache, trong container `VirtualHost`, trong thẻ `` hoặc trong file `.htaccess`. Ở ví dụ dưới đây sẽ đặt thiết lập cho mod_expires trong thiết lập chung của Apache để áp dụng cho toàn server. Thêm nội dung sau vào file config của Apache (có thể sử dụng nhiều block `` để thiết lập nội dung khác nhau cho từng loại file): ~~~ ExpiresActive On ExpiresDefault "access plus 1 week" ~~~ Ngoài cách sử dụng thẻ ``, có thể sử dụng statement `ExpiresByType` để thiết lập theo từng loại Mime Type như sau: ~~~ ExpiresActive on ExpiresByType image/jpg "access plus 60 days" ExpiresByType image/png "access plus 60 days" ExpiresByType image/gif "access plus 60 days" ExpiresByType image/jpeg "access plus 60 days" ExpiresByType text/css "access plus 1 days" ExpiresByType image/x-icon "access plus 1 month" ~~~ ### Khởi động lại Apache ~~~ $ sudo service httpd restart ~~~ Sau khi khởi động lại Apache và load lại web, sử dụng Developer Tool của trình duyệt để kiểm tra header của những file tĩnh, sẽ được kết quả tương tự như hình bên dưới: ![](images/expires_http_header.png)