Skip to content
Tutorial emka
Menu
  • Home
  • Debian Linux
  • Ubuntu Linux
  • Red Hat Linux
Menu

Cara Tuning mod_expires pada Apache demi Server Cache yang Efisien

Posted on January 31, 2024

 

Modul mod_expires pada Apache digunakan untuk mengontrol pengaturan header Expires HTTP dan direktif max-age pada header Cache-Control dalam respons server. Header-header ini menentukan seberapa lama klien (browser atau proxy) akan menyimpan sumber daya dalam cache. Mengoptimalkan pengaturan ini dapat secara signifikan mengurangi beban server dan meningkatkan pengalaman pengguna dengan mengurangi waktu pemuatan.

Berikut adalah bagian mod_expires yang dioptimalkan untuk server produksi, mencakup berbagai jenis file:

## EXPIRES CACHING ##
<ifmodule mod_expires.c="">
    ExpiresActive On

    # Default expiration: 1 hour after request
    ExpiresDefault "now plus 1 hour"

    # HTML components
    ExpiresByType text/html "access plus 0 seconds"

    # Data interchange
    ExpiresByType application/json "access plus 0 seconds"
    ExpiresByType application/xml "access plus 0 seconds"
    ExpiresByType application/rss+xml "access plus 1 hour"
    ExpiresByType application/atom+xml "access plus 1 hour"

    # Favicon (can be cached for a long time)
    ExpiresByType image/x-icon "access plus 1 year"

    # Media: images, video, audio
    ExpiresByType image/gif "access plus 1 month"
    ExpiresByType image/png "access plus 1 month"
    ExpiresByType image/jpeg "access plus 1 month"
    ExpiresByType image/webp "access plus 1 month"
    ExpiresByType video/ogg "access plus 1 month"
    ExpiresByType audio/ogg "access plus 1 month"
    ExpiresByType video/mp4 "access plus 1 month"
    ExpiresByType video/webm "access plus 1 month"

    # CSS and JavaScript
    ExpiresByType text/css "access plus 1 year"
    ExpiresByType application/javascript "access plus 1 year"
    ExpiresByType application/x-javascript "access plus 1 year"
    ExpiresByType text/javascript "access plus 1 year"

    # Webfonts
    ExpiresByType font/otf "access plus 1 month"
    ExpiresByType font/ttf "access plus 1 month"
    ExpiresByType font/woff "access plus 1 month"
    ExpiresByType font/woff2 "access plus 1 month"
    ExpiresByType application/font-woff "access plus 1 month"
    ExpiresByType application/font-woff2 "access plus 1 month"
    ExpiresByType image/svg+xml "access plus 1 month"

    # Other
    ExpiresByType application/pdf "access plus 1 month"
    ExpiresByType image/vnd.microsoft.icon "access plus 1 year"
</ifmodule>

Penjelasan Pengaturan

  • ExpiresDefault: Waktu penyimpanan default untuk sumber daya yang tidak cocok dengan aturan lain. Diatur menjadi 1 jam, tetapi dapat disesuaikan berdasarkan seberapa sering konten Anda berubah.
  • HTML dan Data Interchange: Jenis konten ini biasanya sering berubah dan diatur untuk kedaluwarsa segera (0 detik) atau setelah periode singkat (1 jam untuk feed).
  • Favicons: Jarang berubah dan dapat disimpan dalam cache untuk periode yang lebih lama (1 tahun).
  • Media Files: Gambar, video, dan audio biasanya tidak diperbarui dengan frekuensi tinggi. Diatur untuk kedaluwarsa dalam 1 bulan, tetapi dapat ditingkatkan jika sumber daya ini jarang berubah.
  • CSS dan JavaScript: Karena file-file ini mungkin berubah dengan pembaruan situs web, tetapi tidak sefrekuensi konten HTML, mereka diatur untuk periode cache yang lebih lama (1 tahun). Pastikan versi file ini diatur untuk menghindari masalah cache saat diperbarui.
  • Webfonts: Font umumnya tidak berubah setelah diatur, jadi periode cache yang lebih lama (1 bulan) adalah sesuai.
  • Tipe Lainnya: Untuk sumber daya seperti PDF dan jenis gambar tertentu, sesuaikan waktu penyimpanan berdasarkan seberapa sering sumber daya ini diperbarui.

Catatan Tambahan

Sesuaikan pengaturan ini berdasarkan frekuensi pembaruan konten spesifik Anda.

Pastikan Anda memiliki strategi versioning untuk aset seperti CSS dan JavaScript untuk mencegah masalah cache ketika file-file ini diperbarui.

Ingatlah bahwa caching yang agresif mungkin menyebabkan masalah ketika konten diperbarui di server tetapi masih di-cache di browser klien.

Monitor secara teratur dan sesuaikan pengaturan ini berdasarkan kebutuhan spesifik dan umpan balik dari lingkungan produksi.

Recent Posts

  • Peazip 10.8 Dirilis, UI Baru dan Ada Fitur Previewing Dalam Arsip
  • Youyeetoo Mini PC: Sebuah NAS Ukuran Kecil Dengan 4 Slot M.2 dan 2 Port 2.5Gbe
  • Jolla Phone Kini Bisa di Pre-oder Jadi Ponsel Secure dengan Linux Independen
  • Inilah Proton Sheets: Spreadsheet Terenkripsi Online yang Aman dan Mudah Digunakan
  • Calibre 8.16 Dirilis dengan Fitur AI dan Perbaikan Bug
  • Radxa C200 Orin Developer Kit: Pakai Jetson Orin NX dan Ekspansi PCIe 4.0
  • Pimoroni Luncurkan Seri Badgeware Baru dengan E-Paper IPS dan LED Wearable
  • Metacomputing Rilis PC ARM 45 Tops Berdaya CIX CP8180 yang Siap Pakai
  • Ubuntu Pro Kini Gratis untuk Pengguna WSL
  • Alpine Linux 3.23 Dirilis dengan Linux Kernel 6.18 LTS, GNOME 49, dan KDE Plasma 6.5
  • Kernel Linux 6.18 Akan Didukung LTS Hingga Desember 2027
  • Kenapa Linux Jadi Backbone Infrastruktur Digital Dunia?
  • VLC 3.0.22 Dirilis dengan Peningkatan Frame Rate untuk GPU AMD, Dukungan Dav1d, dan Opsi Semua Lapisan
  • Linux Mint 22.3 Beta Segera Dirilis Bulan Desember
  • Let’s Encrypt dan Certbot: Inilah Cara Dapat Sertifikat SSL Gratis
  • OnlyOffice 9.2 Dirilis untuk Linux, Sudah Tahu Fiturnya?
  • Linux Kernel 6.18 Dirilis, Ini Fitur Barunya
  • Apa yang Baru di ArchInstall 3.0.14?
  • Ubuntu Touch OTA 1.1 Meluncur dengan Dukungan VoLTE untuk Fairphone 4 dan Vola Phone
  • Apa itu Mozilla AI ‘Rewiring’?
  • AV Linux 25: Distribusi Multimedia Berbasis Enlightenment untuk MX Linux 25
  • Raspberry Pi 5 dengan RAM 1GB Resmi Diperkenalkan
  • Cara Query MySQL di Linux Menggunakan Command Line
  • Ubuntu 26.04 Daily Snapshot Mulai Dirilis Tiap Hari, Kamu Bisa Ikuti – Ini Caranya
  • Gnome 49.2 Dirilis, Ada Update Penanganan Layar Tiled dan Tombol Sticky

Archives

  • December 2025
  • November 2025
  • October 2025
  • August 2025
  • April 2025
  • February 2025
  • November 2024
  • October 2024
  • September 2024
  • May 2024
  • March 2024
  • February 2024
  • January 2024
  • December 2023
©2025 Tutorial emka | Design: Newspaperly WordPress Theme