Mengaktifkan browser caching di Apache

By | September 20, 2020

Untuk mempercepat akses website yang dihosting menggunakan web server Apache selain kita bisa mengaktifkan kompresi GZIP untuk setiap koneksi juga sangat dianjurkan agar mengaktifkan browser caching untuk konten yang bersifat statis atau jarang berubah. Misalnya saja file JavaScript, CSS, gambar (JPG, PNG, GIF), PDF, dan sebagainya.

Fungsinya agar browser pengunjung menyimpannya sampai waktu yang ditentukan oleh server situsnya, ini bisa mencapai 1 tahun kalau mau. Keuntungannya adalah pengunjung tidak perlu memuat kembali file – file yang sudah dicache oleh browsernya, jadi untuk setiap akses setelah yang pertama akan terasa sangat cepat.

Di Apache sendiri kita bisa memanfaatkan 2 modul: mod_headers dan mod_expires, nanti kita gunakan salah satunya saja karena sudah cukup. Jangan sampai keduanya aktif bersamaan. Dimana meletakkannya? Silahkan tambahkan ke dalam file httpd.conf dan kalau terpaksa bisa dimasukkan kedalam file .htaccess. Jadi cara ini bisa juga diterapkan pada shared hosting dengan cPanel.

Nah… pertama adalah dengan menggunakan mod_headers:

<IfModule mod_headers.c>
Header unset ETag


Header set Cache-Control max-age=2592000, public


Header set Cache-Control max-age=604800, public


Header set Cache-Control max-age=216000, private


Header set Cache-Control max-age=600, private, must-revalidate

</IfModule>

FileETag None

Sekalian saja mematikan ETag karena sudah bisa digantikan oleh modul apache yang sedang kita bahas fungsinya.

Sedangkan yang kedua memanfaatkan mod_expires:

<IfModule mod_expires.c>

ExpiresActive on
ExpiresDefault access plus 1 month
ExpiresByType text/css access plus 1 year
ExpiresByType application/atom+xml access plus 1 hour
ExpiresByType application/rdf+xml access plus 1 hour
ExpiresByType application/rss+xml access plus 1 hour
ExpiresByType application/json access plus 0 seconds
ExpiresByType application/ld+json access plus 0 seconds
ExpiresByType application/schema+json access plus 0 seconds
ExpiresByType application/vnd.geo+json access plus 0 seconds
ExpiresByType application/xml access plus 0 seconds
ExpiresByType text/xml access plus 0 seconds
ExpiresByType image/vnd.microsoft.icon access plus 1 week
ExpiresByType image/x-icon access plus 1 week
ExpiresByType text/html access plus 0 seconds
ExpiresByType application/javascript access plus 1 year
ExpiresByType application/x-javascript access plus 1 year
ExpiresByType text/javascript access plus 1 year
ExpiresByType application/manifest+json access plus 1 year
ExpiresByType application/x-web-app-manifest+json access plus 0 seconds
ExpiresByType text/cache-manifest access plus 0 seconds
ExpiresByType audio/ogg access plus 1 month
ExpiresByType image/bmp 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/svg+xml access plus 1 month
ExpiresByType image/webp access plus 1 month
ExpiresByType video/mp4 access plus 1 month
ExpiresByType video/ogg access plus 1 month
ExpiresByType video/webm access plus 1 month
ExpiresByType application/vnd.ms-fontobject access plus 1 month
ExpiresByType font/eot access plus 1 month
ExpiresByType font/opentype access plus 1 month
ExpiresByType application/x-font-ttf access plus 1 month
ExpiresByType application/font-woff access plus 1 month
ExpiresByType application/x-font-woff access plus 1 month
ExpiresByType font/woff access plus 1 month
ExpiresByType application/font-woff2 access plus 1 month
ExpiresByType text/x-cross-domain-policy access plus 1 week

</IfModule>

Yang diatas hanyalah contoh saja dari salah satu situs WordPress yang saya miliki, sangat dianjurkan untuk dimodifikasi sesuai keinginan anda karena belum tentu setting saya cocok dengan website anda.

Semoga bermanfaat. 🙂


Sumber https://servernesia.com