Categories
Tutorial, Manual, Tips dan Trik

Pengaruh Expires Header Terhadap Cache Browser

Browser memiliki kemampuan untuk melakukan cache pada waktu menampilkan web. Apa pengaruh Expires Header terhadap cache yang dilakukan oleh browser tersebut?

Daftar Isi

Membuat Expires Header

Kecepatan membuka suatu web salah satunya adalah karena browser tidak perlu mengambil data dari server, tetapi dari data yang ada di perangkat itu sendiri. Apabila salah dalam melakukan pengaturan, maka tampilan menjadi tidak up to date.

— Pengaruh Expires Header Terhadap Cache Browser
https://pdsi.unisayogya.ac.id/pengaruh-expires-header-terhadap-cache-browser/ 2021-08-17 21:40:53

Modul mod_expires mengatur respon server berupa Expires dan max-age dari Cache-Control pada header HTTP. Header tersebut merupakan intruksi kepada klien (browser) untuk mengambil dari cache atau mengambil dari server ketika waktu sudah melebihi yang ditentukan di dalam header.

|-Sintaksis

ExpiresDefault "base[plus num type] [num type] ..."
ExpiresByType type/encoding "base[plus num type] [num type] ..."
base = access | now | modification
num  = nilai integer
type = years | months | weeks | days | hours | minutes | seconds

|-Best Practice

  1. text/html dan application/json sebaiknya tidak menggunakan cache karena isi dari web cenderung berubah. Gunakan now.
  2. Media, huruf, javascript dan css sebaiknya dibuat lama untuk waktu menggunakan cache, misalnya 1 bulan (access plus 1 month).
  3. Jika memungkinkan, maka pengaturan dapat diletakkan di konfigurasi server, virtual host atau directory. Namun, jika terpaksa, maka pengaturan dapat diletakkan di .htaccess.

|-Contoh

#berkas /etc/apache2/include/expires-header.conf

<IfModule mod_expires.c>
  ExpiresActive on

  # whitelist expires rules
  ExpiresDefault "access 1 month"

  # HTML always fresh from server
  ExpiresByType text/html "now"
  ExpiresByType application/json "now"

  # Favicon (cannot be renamed)
  ExpiresByType image/x-icon "access plus 2 weeks"

  # Media: images, video, audio
  ExpiresByType image/gif "access plus 1 month"
  ExpiresByType image/png "access plus 1 month"
  ExpiresByType image/jpg "access plus 1 month"
  ExpiresByType image/jpeg "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"

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

  # CSS and JavaScript
  ExpiresByType text/css "access plus 1 month"
  ExpiresByType text/javascript "access plus 1 month"
  ExpiresByType application/javascript "access plus 1 month"

  <IfModule mod_headers.c>
    Header append Cache-Control "public"
  </IfModule>
</IfModule>

Contoh pada Virtual Host

Include include/expires-header.conf
<VirtualHost _default_:443>
#...
</VirtualHost>

Demikian, semoga bermanfaat. [bst]

Sumber:

By basit

Biro Pengembangan Teknologi Dan Sistem Informasi

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.