it-swarm-id.com

Apa aturan keras dan cepat untuk Kontrol Cache?

Pengakuan : situs yang saya kelola memiliki aturan yang berbeda untuk Kontrol Cache sebagian besar didasarkan pada konfigurasi default server yang ditindaklanjuti dengan rekomendasi dari Kecepatan Halaman & Y-Lambat plug-in Firefox dan tampilan Sumber Daya Jaringan di Google Pelacak Kecepatan . Kontrol Cache diatur ke privat/publik, tergantung pada apa yang mereka katakan, header ETag/Last-Modified hanya dipermainkan jika Y-Slow menyarankan ada sesuatu yang salah dan Vary-Accept-Encoding tampaknya diperlukan ketika secara manual gziping file untuk Amazon CloudFront.

Ketika membaca materi tentang pilihan yang berbeda dan apa yang mereka lakukan tampaknya ada informasi yang saling bertentangan, aturan untuk proxy yang rusak dan kultus kargo konfigurasi. Setiap informasi resmi yang disediakan oleh alat analisis yang disebutkan di atas cukup tidak dapat diakses karena berkaitan dengan setiap topik secara individu alih-alih sebagai strategi terpadu (sehingga tidak ada referensi silang teknik).

Sebagai contoh, tampaknya tidak masuk akal bahwa alat analisis kecepatan menilai situs dengan ETag sama dengan situs tanpa mereka jika alat itu dimaksudkan untuk membantu dengan caching.

Apa aturan keras dan cepat untuk strategi agnostic Cache Control platform?

EDIT:

A tautan melalui artikel Jeff Atwood menjelaskan Caching secara mendalam.

Sebagai catatan, inilah aturan keras dan cepat:

Jika file dikompresi menggunakan GZIP, dll - gunakan "cache-control: private" karena proxy dapat mengembalikan versi terkompresi ke klien yang tidak mendukungnya (cache browser akan menyimpan file yang ditandai dengan cara ini). Juga ingatlah untuk memasukkan "Vary: Accept-Encoding" untuk mengatakan bahwa itu kompresibel.

Gunakan Last-Modified bersamaan dengan ETag - penggunaan belt dan kawat gigi menyediakan kedua validator, sementara ETag didasarkan pada konten file alih-alih waktu modifikasi saja, menggunakan keduanya mencakup semua pangkalan. CATATAN: PageTest AOL memiliki pendekatan carte blanche terhadap ETag untuk beberapa alasan. Jika Anda menggunakan Apache di lebih dari satu server untuk meng-host konten yang sama, maka hapus inode yang dinyatakan secara implisit dari ETags dengan mengecualikannya dari arahan FileETag (yaitu "Ukuran FileTag MTime") kecuali Anda benar-benar menggunakan sistem file live yang sama.

Gunakan "kontrol-cache: publik" di mana pun Anda bisa - ini berarti bahwa server proxy (dan cache browser) akan mengembalikan konten Anda, bahkan jika sisanya halaman tersebut membutuhkan otentikasi HTTP, dll.

15
Metalshark

Pertama, jangan singkirkan ETag seperti kata Yahoo, kecuali Anda menggunakan server farm/cluster. Selama file yang sama selalu mengembalikan ETag yang sama ketika tidak berubah, maka itu adalah arahan yang sangat berguna.

Adapun header lainnya, Yahoo praktik terbaik menyarankan untuk menetapkan header Expires yang jauh di masa depan untuk file statis, gunakan Cache-Control untuk konten dinamis. Namun Cache-control sangat bagus untuk konten statis (tidak ada perbedaan di antara mereka).

Saat Anda mengubah file statis yang di-cache, Anda perlu mengubah nama file, atau menambahkan parameter unik hingga akhir, mis. example.com/styles.css?v=2. Mengubah nama file yang sebenarnya lebih disukai, seperti dicatat dalam komentar di bawah ini.

Secara kebetulan, Anda dapat mengedit aturan YSlow sesuai keinginan Anda, untuk menghapus aturan Etag dan menambahkan domain Anda sendiri sebagai CDN. Artikel ini juga merupakan bacaan yang bagus: Masalah Yahoo Bukan Masalah Anda

8
DisgruntledGoat

Mengubah header permintaan sumber daya Anda untuk menggunakan caching Bagi kebanyakan orang, cara untuk caching ebable adalah dengan menambahkan beberapa kode ke file bernama .htaccess di Host/server web Anda.

Ini berarti pergi ke pengelola file (atau ke mana pun Anda pergi untuk menambah atau mengunggah file) di hosting Anda.

File .htaccess mengontrol banyak hal penting untuk situs Anda. Jika Anda tidak terbiasa dengan file .htaccess, harap baca artikel saya yang bekerja dengan .htaccess untuk mengetahui beberapa cara sebelum mengubahnya.

Kode di bawah ini memberi tahu browser apa yang harus di-cache dan berapa lama untuk "mengingatnya". Itu harus ditambahkan ke bagian atas file .htaccess Anda.

## EXPIRES CACHING ##
<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 text/html "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 1 month"
</IfModule>
## EXPIRES CACHING ##

Simpan file .htaccess dan kemudian segarkan halaman web Anda.

Sumber:
(https://varvy.com/pagespeed/leverage-browser-caching.html

0
Nomib Nomib