Aku menggaruk kepalaku sedikit tentang ini. Situs Drupal yang saya jalankan sedang mengatur header cache yang sesuai yang harus mengindikasikan bahwa halaman tersebut dapat di-cache selama 15 menit. Namun, setiap kali saya menekan halaman itu selalu mengirimkan permintaan GET daripada memuat halaman dari cache.
Saya tidak secara paksa me-refresh halaman setiap kali, yang saya asumsikan akan menunjukkan ke browser saya ingin menghapus cache. Saya tidak mengaktifkan penghilang cache mode pengembang.
Apakah ini hanya perilaku default browser, atau apakah saya melewatkan sesuatu yang jelas? Inilah header permintaan / respons dari memukul beranda saya dari alat dev FireFox:
CATATAN / EDIT : Beberapa orang menyarankan ini terkait dengan Expires
tajuk yang ada di masa lalu. Namun Cache-Control
mengabaikan apa pun di Expires
, seperti yang dijelaskan dalam RFC 2616 , Bagian 14.9.3. Drupal menyertakan ini untuk menonaktifkan caching pada klien HTTP 1.0 yang lebih lama, yang tidak mendukung Vary
tajuk yang lebih canggih yang diperlukan Drupal untuk caching yang tepat.
Dalam program CMS beberapa halaman memerlukan interaksi dengan database untuk menampilkan konten dinamis khusus untuk permintaan pengguna. Seluruh halaman tidak bisa di-cache atau tidak akan menampilkan konten yang benar kepada pengguna.
Contoh dari hal ini dalam praktiknya adalah halaman keranjang belanja / checkout eCommerce. Karena halaman terlihat berbeda setiap kali tidak ada cara untuk men-cache sepenuhnya. Tanpa mengetahui lebih lanjut tentang halaman spesifik, sulit untuk mengetahui apakah halaman yang Anda rujuk memerlukan keterlibatan basis data.
sumber
Selain jawaban lain,
Expires
tajuk sudah ada di masa lalu, itu juga merupakan salah satu alasan browser tidak akan melakukan cache halaman.sumber
Cache-Control
tajuk. Itu menimpaExpires
tajuk untuk klien HTTP 1.1. Lihat ietf.org/rfc/rfc2616.txt , bagian 14.9.3.