Bagaimana cara mengaktifkan cache browser untuk situs saya? Apakah saya hanya menempatkan kontrol cache: publik di suatu tempat di header saya seperti ini?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
Cache-Control:public;
>
Saya menggunakan versi terbaru PHP yang dikembangkan pada versi terbaru XAMPP.
http
browser-cache
andrew
sumber
sumber
Jawaban:
Untuk menggunakan kontrol-cache dalam HTML, Anda menggunakan meta tag , mis
Nilai dalam bidang konten didefinisikan sebagai salah satu dari empat nilai di bawah ini.
Beberapa informasi pada
Cache-Control
header adalah sebagai berikutsumber
<meta>
selalu menjadi cara yang mengerikan dan serpihan untuk menentukan caching.no-store
nilai (meskipun dokumen itu sendiri merujuk RFC 2068 ) -no-store
mencegah dokumen disimpan / di-cache sama sekali, di mana saja. Padahalno-cache
itu memungkinkan untuk disimpan, tetapi harus memeriksa dengan server setiap waktu. Browser akan cenderung untuk menyimpanno-cache
halaman untuk mengaktifkan fungsi tombol kembali dll.Anda dapat mengatur tajuk di PHP dengan menggunakan:
Perhatikan bahwa tajuk tepat yang digunakan akan tergantung pada kebutuhan Anda (dan jika Anda perlu mendukung HTTP 1.0 dan / atau HTTP 1.1 )
sumber
Pragma
danExpires
mungkin berlebihan untuk sebagian besar browser. fastly.com/blog/headers-we-dont-wantSeperti yang saya tulis adalah yang terbaik untuk menggunakan file tersebut
.htaccess
. Namun waspadalah terhadap waktu Anda meninggalkan konten dalam cache.Menggunakan:
Di mana: 604800 = 7 hari
PS: Ini bisa digunakan untuk mereset header apa pun
sumber
Halaman di http://www.askapache.com/htaccess/apache-speed-cache-control.html menyarankan penggunaan sesuatu seperti ini:
sumber
cache
danno-cache
).max-age
danpublic
tidak bertentangan sehingga ketertiban tidak masalah.Header
arahan, Anda harus mengaktifkanmod_headers
.a2enmod
atau membuat tautan simbolis dari/etc/apache2/mods-available/headers.load
ke/etc/apache2/mods-enabled/headers.load
.Ini adalah yang terbaik yang
.htaccess
saya gunakan di situs web saya yang sebenarnya:sumber
<filesMatch "\.(x?html?|php)$">
untuk menghindari halaman HTML statis di-cache. Sisa dari filematch tidak masalah.<filesmatch "\.(eot|woff|otf|ttf|svg)$">
.css
danjs
ke pribadi jika Anda memiliki caching proxy. Saya tidak dapat menemukan rekomendasi di tautan Anda mengenai hal itu. Kebanyakan CDN merekomendasikan Anda untuk menyimpan nilai-nilai itu.Untuk server Apache, Anda harus memeriksa mod_expires untuk mengatur Expires dan header Cache-Control.
Atau, Anda bisa menggunakan arahan Header untuk menambahkan Cache-Control sendiri:
sumber
Tag kontrol cache meta memungkinkan penerbit Web untuk menentukan bagaimana halaman harus ditangani oleh cache. Itu termasuk arahan untuk menyatakan apa yang harus disimpan dalam cache, apa yang dapat disimpan oleh cache, modifikasi mekanisme kedaluwarsa, dan validasi ulang dan memuat ulang kontrol.
Nilai yang diizinkan adalah:
Publik - dapat di-cache dalam cache bersama publik
- Pribadi - hanya dapat di-cache dalam cache pribadi
no-Cache - mungkin tidak di-cache
tanpa-Store - dapat di-cache tetapi tidak diarsipkan
Harap berhati-hati tentang sensitivitas kasus. Tambahkan tag meta berikut di sumber halaman web Anda. Perbedaan dalam pengejaan di akhir tag adalah Anda menggunakan "/> = xml atau"> = html.
Sumber- > MetaTags
sumber
OWASP merekomendasikan yang berikut ini,
Kapan pun memungkinkan memastikan header HTTP kontrol-cache diatur dengan no-cache, no-store, harus divalidasi ulang, pribadi; dan bahwa header HTTP pragma diatur tanpa-cache.
sumber