, Cara Memanfaatkan Cache-Control di blog | MEMAHAMI DAN OPTIMASI WEB

Cara Memanfaatkan Cache-Control di blog

Apa yang dimaksud dengan Cache-Control?
  • Cache-control adalah  header HTTP yang mendefinisikan sejumlah waktu dengan menambahkan cara cache file yang disimpan.


Artikel ini akan membahas bagaimana menggunakan cache-control value, dan bagaimana mendapatkannya supaya benar-benar bekerja di website.

Kebanyakan situs web modern loading cwpat dengan mengguna kan cache-control untuk memanfaatkan browser caching mereka. 

 Menggunakan Cache-Control

Isi dari panduan ini : 

Cache-Control basic 
Defining time (max-age) 
Mendefinisikan cache (public, private,                  dll). 
Memilih tipe berkas.
Menambahkan head. 
.htaccess
Apache confiq
Nginx
Litepeed

Dasar-dasar Cache-Control

Header cache-control basic mendefinisikan jumlah waktu yang di cache bahwa cara caching harus dilakukan dengan. 
Cache-Control: max-age=2592000, public
Ketika sebuah file diakses oleh browser header HTTP juga diambil. Cache-Control disertakan browser dan akan menghormati nilai-nilai yang ditemukan disana. Jika browser melihat bahwa file harus di cache selama lima menit  itu akan tertinggal di cache browser selama 5 menit dan file yang tidak perlu diambil jika hal itu disebut lagi. 


a cached file being used



Sebagai contoh mungkin gambar logo Anda. Jika pengunjung datang ke salah stu halaman web Anda, itu akan mendownload gambar logo. Kemudian jika pengguna pergi ke halaman web lain disitus Anda, maka gambar logo tidak akan didownload lagi. Sebaliknya versi cache akan digunakan disini. 

Apa itu max-age?

• "Max-age" mendefinisikan sejumlah file waktu yang harus ada di cache.
• "max-age" respon directive  menunjukan bahwa respon tersebut akan dianggap basi setelah umurnya melewati dari batas yang ditentukan (dengan detik). 

• Max age pengguna 

Bagian max-age header terlihat seperti ini: 

max-age=2592000
Max-age dinyatakan dalam detik. Umunya nilai max-age adalah:

* Satu menit: max-age=60
* Satu jam: max-age=3600
* Satu hari: 86400
* Satu bulan: max-age=2628000
* Satu tahun: max-age=31536000

Bila menggunakan max-age untuk menentukan cache sering kali orang harus mempertimbangkan jenis file dan bagaimana ia digunakan. Kami akan membahas ini secara lebih rinci nanti dalam artikel ini.

Caching secara langsung (direct caching)

Bagian direct disimpan di cache header diatas terlihat seperti:
public
Header cache-control atas menyatakan "publik". Ini berarti bahwa file cache ini dapat terbuka (berbeda dengan file yang private).  Secara default, banyak hal yang disimpan (di cache) tapi ada memang saat-saat ketika perilaku ini tidak akan dianjurkan untuk dokumentasi yang sensitif sifatnya, keamanan, pengguna konten tertentu, dll.

Posting disini kami akan mencakup tiga arahan utama yang ditawarkan oleh cache-control:
~public
~private
~no-store

Public

"Public" pada dasarnya secara langsung mengatakan bahwa siapapun bisa di cache disini dari tingkat manapun. 
Spesifikasi resmi mendefinisikan sebagai berikut:

"PubliC" respon direktif yang menunjukkan bahwa cache setiap kemungkinan menyimpan respon, bahkan jika respon biasanya akan non-saved di cache atau disimpan di cache hanya dalam cache pribadi.
Pada dasarnya, jika Anda ingin sesuatu cache untuk alasan kecepatan halaman, dan itu tidak pribadi atau sensitif maka anda harus menggunakan direktif waktu publik.

private

Direktif private itu berarti khusus untuk satu orang. Sebuah contoh akan menjadi halaman Twitter. Ketika Anda pergi ke Twitter Anda melihat satu hal dan orang lain pergi ke url yang sama melihat sesuatu yang lain. Meskipun informasi pada halaman yang umum dan tidak sensitif, itu adalah khusus untuk satu orang. (Catatan: Twitter hanyalah sebuah contoh konseptual, saya tidak tahu apa yang mereka gunakan atau bagaimana mereka menggunakannya)

Spesifikasi resmi mendefinisikan sebagai ...


"Private" respon direktif menunjukkan bahwa pesan respon dimaksudkan untuk satu pengguna dan TIDAK HARUS disimpan oleh shared cache. Cache pribadi MUNGKIN menyimpan respon dan menggunakannya kembali untuk permintaan di kemudian, bahkan jika biasanya akan merespon
Jadi jika saya masuk ke twitter.com dan kemudian refresh hit beberapa hal akan di cache untuk saya pribadi bukan Anda. Jika Anda pergi ke twitter.com dan klik refresh beberapa hal yang akan di-cache untuk Anda tetapi tidak bagi saya.

No-store

no-store directive adalah indikasi kuat bahwa sesuatu seharusnya tidak disimpan dalam mekanisme caching apapun.

Spesifikasi resmi mendefinisikan sebagai berikut: 

"No-store" respon direktif menunjukkan bahwa cache TIDAK HARUS menyimpan bagian apapun baik permintaan langsung atau respon. direktif ini berlaku untuk kedua cache pribadi dan bersama.

Sekali lagi harus saya catat bahwa ini tidak benar-benar mengamankan apapun.

File types 
Dua pertanyaan bagi webmaster yang harus ditanyakan adalah:

•Apa jenis file yang harus saya cache?
•Berapa lama saya harus mencache  untuk file itu?

Apa jenis file yang harus di-cache?

Sebagai panduan yang sangat luas dan umum, akan ditunjukan jenis file-file sebagai berikut:

~Gambar: (png, jpg, gift, dll)
   gambarbtidak benar-benar berubah 
   sehingga mereka dapar memiliki          jangka waktu cache yang lama (1        tahun).
~CSS:  file css cenderung berubah          lebih sering daripada file lainya,    
   jangka waktu yang lebih pendek,          mungkin diperlukan (1 minggu atau   1 bulan ).
~ico (favicon) - jarang berubah               (setahun)
~ js - sebagian besar javascript tidak       sering berubah sehingga waktu            cache lagi biasanya satu bulan              (mungkin).

Hal yang perlu diperhatikan

Hanya anda yang dapat menentukan apa yang terbaik untuk situs anda dan sumber daya situs anda. Satu hal yang saya akan sebutkan bahwa jika akan menyebutkan bahwa jika Anda mengubah sesuatu (seperti file CSS) dan file yang di-cache, Anda harus mempertimbangkan untuk mengubah nama file CSS yang diperbaarui itu dilihat oleh semua pengguna. 

Ini disebut URL fingerprintIng
     
Untuk mendapatkan (no cache) dari file sumber daya yang segar mungkin dengan memiliki nama yang unik. Sebuah contoh jika file  css akan kita  beri nama "main.css" kita beri nama sebagai gantinya. Kain kali kita mengubahnya dengan "main_2.css". Hal ini berguna untuk file yang terkadang berubah.


Bagaimana menambahkan Cache-Control untuk situs Anda.

Cara untuk menambahkan Cache-Control untuk file Anda adalah cara yang sama Anda menambahkan header apapun ke server Anda. Segala sesuatu yang telah kita bicarakan di halaman ini adalah tentang Cache control header. 
Jadi bagaimana cara menambahkannya? 
Hal itu tergantung pada server web Anda. Kami akan menjalankan skenario yang paling umum berikut ini:
File  .htaccess
Kebanyakan orang membaca file ini memungkinkan untuk menggunakan file  .htaccess dengan menambahkan  ke header.
Contoh kode untuk file .htaccess:
Kode yang paling mendasar untuk menetapkan header cache-control melalui file .htaccess yaitu:
Header set Cache-Control "max-age=2628000, public"
Namun kode diatas tidak memberikan kemampuan apapun untuk memberikan petunjuk caching yang berbeda untuk jenis file yang beda juga. 
Untuk menerapkan cache-control header untuk jenis file yang berbeda kita akan menggunakan... 

# One month for most static assets
<filesMatch ".(css|jpg|jpeg|png|gif|js|ico)$">
Header set Cache-Control "max-age=2628000, public"
</filesMatch>
Kode diatas oada dasarnya mengatakan...

"Jika jenis file css, jpeg, jpg, png, gif, js atau ico kemudian menerapkan itu ke header" 

Sekarang katakanlah kita ingin membuat cache-gambar selama satu tahun, tapi tetap file css dan js di cache selama satu bulan.

Kemudian kami akan menempatkan berikut ini ke dalam file .htaccess :

# One year for image files
<filesMatch ".(jpg|jpeg|png|gif|ico)$">
Header set Cache-Control "max-age=31536000, public"
</filesMatch>
# One month for css and js
<filesMatch ".(css|js)$">
Header set Cache-Control "max-age=2628000, public"
</filesMatch>

Di atas kita memiliki dua blok kode, satu untuk gambar dan satu untuk file css dan js. Ini hanya untuk menggambarkan bahwa Anda dapat memiliki beberapa blok dalam file  .htaccess. 

Apache config http.conf

Jika Anda memiliki akses dan tahu apa yang Anda lakukan, pengaturan header Anda melului file konfigurasi yang cepat dan direkomendasikan.
Contoh kode diatas seperti bagaimana .htaccess itu bekerja.

Gunakan filesMatch dan mengatur header untuk menciptakan petunjuk khusus untuk jenis file Anda (sekali lagi, contoh kode  .htaccess diatas harus bekerja dengan baik).

NGINX

Menggunakan expires directive Anda dapat menambahkan instruksi cache server atau lokasi blok. 

location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
expires 365d;
}
Kode diatas adalah untuk setiap jenis file yang tercantum di baris pertama. Jenis berkas ini di tambahkan atau dihapus. Ada juga beberapa blog yang bisa untuk fine tuning jenis file yang berbeda.

Litespeed

Jika Anda memilki lisensi multi cpu,maka anda akan mempunyai akses ke cache directive lebih lanjut melalui konfigurasi online.
Jika Anda memiliki lisensi multi cpu maka Anda perlu menggunakan file  .htaccess untuk Cache-control. Petunjuk di atas untuk bekerja  .htaccess untuk server Litespeed.

Terkait:
3 Langkah cepat untuk membantu anda dalam pemasaran.



Share on Google Plus

5 komentar:

Untuk Melanjutkan Membaca Silahkan Lengkapi Form Ini