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.
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.
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:
* 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:
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
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 ...
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
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.
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...
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>
<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>
<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>
<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;
}
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.
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.
terima kasih infonya sangat membantu
BalasHapusterus gimana cara pakainya ?
BalasHapussipplah min
BalasHapusSolder uap
Ada banyak manfaat bila kita mengetahui fungsi cache dan apa itu cache. Sehingga kita bisa lebih mengetahui Apakah Aman Menghapus Cache
BalasHapusThanks infonya min, kebetulan lagi merintis juga.
BalasHapus