Google’nın webmasterlara sunduğu eşsiz hizmetlerden biri de Pagespeed Insights adıyla tanıdığımız online web site hız testi uygulamasıdır. Sitemizi burada tarattığımızda en önemli sorunlardan biri de tarayıcı önbelleğinin aktif olmamasıdır. Bunu nasıl aktif yapabiliriz? Öncelikle kısaca apache’ yi hatırlayalım.
Apache nedir?
Apache, açık kaynak kodlu ve özgür bir web sunucu programıdır. Apache Yazılım Vakfı tarafından geliştirilmektedir.
Unix, GNU, FreeBSD, Linux, Solaris, Novell NetWare, Mac OS X, Microsoft Windows, OS/2, TPF, ve eComStation işletim sistemleri üzerinde çalışabilir. Genelde her ay yenilenerek yeni sürümleri dağıtılmaktadır. World Wide Web’in genişlemesinde ve yayılmasında anahtar rol oynamıştır. Nisan 1996’dan bugüne Apache İnternet’teki en yaygın web sunucusu olmuştur.
Adım adım mod_expires uygulaması
Evet apache nin ne olduğunu öğrendikten sonra sıra bu işi nasıl yapacağımıza geldi. Öncelikle kullandığımız sunucuya göre mod_expires modülünü aktif yapıyoruz.
Debian / Ubuntu:
$ sudo nano a2enmod expires
CentOS / Red Hat Apache 2.2.x, mod_expires in faal olduğundan emin oluyoruz.
$ sudo nano /etc/httpd/conf/httpd.conf
Daha sonra .htaccess dosyasına gidip aşağıdaki kodları ekliyoruz.
Yöntem 1:
## TARAYICI ÖNBELLEKLEME ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 2 days"
</IfModule>
##TARAYICI ÖNBELLEKLEME
##
Yöntem 2:
Header unset Pragma
FileETag None
Header unset ETag<FilesMatch “\.(ico|jpg|jpeg|png|gif|js|css|swf|pdf|flv|mp3)$”>
<IfModule mod_expires.c>
ExpiresActive on
ExpiresDefault “access plus 14 days”
Header set Cache-Control “public”
</IfModule>
</FilesMatch>
<FilesMatch “\.(html|htm|xml|txt|xsl)$”>
Header set Cache-Control “max-age=7200, must-revalidate”
</FilesMatch>