Jawaban:
Cache-Control
diperkenalkan di HTTP / 1.1 dan menawarkan lebih banyak opsi daripada Expires
. Mereka dapat digunakan untuk mencapai hal yang sama tetapi nilai data untuk Expires
adalah tanggal HTTP sedangkan Cache-Control
usia maks memungkinkan Anda menentukan jumlah waktu relatif sehingga Anda dapat menentukan "X jam setelah halaman diminta".
Kontrol Cache HTML adalah pertanyaan yang sangat mirip dan memiliki tautan yang baik ke tutorial caching yang seharusnya menjawab sebagian besar pertanyaan Anda (mis., Http://www.mnot.net/cache_docs/#EXPIRES ). Singkatnya, Expires
direkomendasikan untuk sumber daya statis seperti gambar dan Cache-Control
ketika Anda membutuhkan lebih banyak kontrol atas bagaimana cache dilakukan.
Jika Anda menggunakan CDN (Cloud Delivery Network), saya sarankan untuk menggunakan Kontrol Cache dengan waktu maksimum dalam detik. Misalnya Kontrol-Cache: max-age = 604800. Ini mencegah puncak permintaan ke server asal Anda: Dengan "Kedaluwarsa Rab, 30 Okt 20xx 04:37:07 GMT" semua browser akan meminta Anda secara bersamaan.
cache-control
. Jadi saya tidak melihat mengapa akan ada permintaan puncak saat menggunakanExpires:
Menurut artikel Google Developers ini, Caching HTTP :
Header Cache-Control didefinisikan sebagai bagian dari spesifikasi HTTP / 1.1 dan menggantikan header sebelumnya (misalnya Kedaluwarsa) yang digunakan untuk menentukan kebijakan caching respons. Semua browser modern mendukung Kontrol-Cache, maka hanya itu yang kita butuhkan.
Kontrol Cache didefinisikan dalam HTTP / 1.1, memberi tahu semua mekanisme caching dari server ke klien apakah mereka dapat melakukan cache objek ini. Hal ini diukur dalam detik: Cache-Control: max-age=3600
.
Bidang Expires
tajuk memberikan tanggal / waktu setelah respons dianggap basi. Kedaluwarsa nilai adalah timestamp HTTP-date: Expires: Tue, 18 Jul 2017 16:07:23 GMT
.
Jika respons menyertakan Cache-Control
bidang dengan max-age
arahan, penerima harus HARUS mengabaikan Expires
bidang tersebut.
Heroku devcenter memiliki artikel yang bagus tentang hal ini.
Mengutip dari itu,
Sementara tajuk Kontrol-Cache mengaktifkan caching sisi-klien dan menetapkan usia maksimum sumber daya, tajuk Kedaluwarsa digunakan untuk menentukan titik tertentu saat sumber daya tidak lagi valid.
Kecuali untuk opsi pribadi / publik CC, saya tidak dapat melihat perbedaan. Saat menggunakan Kedaluwarsa seperti "akses plus 1 tahun / bulan / minggu / hari", ia bekerja dengan cara yang persis sama seperti CC.
Jika Anda masih tertarik, saya meninggalkan rekomendasi ini langsung dari anak laki-laki google. https://developers.google.com/speed/docs/insights/LeverageBrowserCaching Mereka lebih suka Kedaluwarsa sebelum daripada Kontrol-Cache