Jawaban:
html5boilerplate.com menyertakan file .htaccess yang dikomentari dengan baik yang memiliki banyak pengaturan standar yang harus Anda pertimbangkan. Diantaranya adalah pengaturan wajar untuk kedaluwarsa konten (Kedaluwarsa, E-tag, ...).
Berikut dokumentasi tentang mod_expires .
Perhatikan bahwa Last-Modified
header adalah header cache yang lemah. Preferensi saat ini adalah menggunakan Cache-Control
header.
Google memiliki artikel bagus tentang ini.
Kedaluwarsa dan Kontrol Tembolok: maks-usia. Ini menentukan "masa hidup kesegaran" dari suatu sumber daya, yaitu periode waktu di mana browser dapat menggunakan sumber daya yang di-cache tanpa memeriksa untuk melihat apakah versi baru tersedia dari server web. Mereka adalah "caching header yang kuat" yang berlaku tanpa syarat; yaitu, setelah diatur dan sumber daya diunduh, browser tidak akan mengeluarkan permintaan GET untuk sumber daya sampai tanggal kedaluwarsa atau usia maksimum tercapai.
Terakhir Dimodifikasi dan ETag. Ini menentukan beberapa karakteristik tentang sumber daya yang diperiksa browser untuk menentukan apakah file-file itu sama. Di tajuk yang Terakhir Dimodifikasi, ini selalu berupa tanggal. Di header ETag, ini bisa berupa nilai apa pun yang secara unik mengidentifikasi sumber daya (versi file atau hash konten adalah tipikal). Terakhir Dimodifikasi adalah header caching "lemah" karena browser menerapkan heuristik untuk menentukan apakah akan mengambil item dari cache atau tidak. (Heuristik berbeda di antara peramban yang berbeda.) Namun, tajuk ini memungkinkan peramban untuk memperbarui sumber daya yang di-cache secara efisien dengan mengeluarkan permintaan GET bersyarat saat pengguna secara eksplisit memuat ulang halaman. GET bersyarat tidak mengembalikan respons penuh kecuali jika sumber daya telah berubah di server, dan karenanya memiliki latensi lebih rendah daripada GET penuh.
Saya sarankan menggunakan salah satu Cache-Control
atau Expires
header sesuai kebutuhan karena mereka adalah header cache yang kuat. Beberapa sistem akan mengabaikan tanggal Modifikasi Terakhir.
Anda kemudian dapat menggunakan alat seperti curl
atau http://redbot.org untuk memeriksa header.
Last-Modified
header dengan tidak adanya instruksi caching lainnya meninggalkan periode cache hingga ke klien HTTP. Jika sumber daya belum dimodifikasi sejak Last-Modified
tanggal, sumber daya harus dianggap segar. Sebaliknya, saat menggunakan Expires
atau Cache-Control
tajuk asalnya dapat menetapkan periode kesegaran eksplisit.
Expires
adalah tajuk yang sama sekali tidak pantas untuk sumber daya yang tidak kedaluwarsa. Beberapa sumber daya dapat dimodifikasi, tetapi tidak pada tanggal kedaluwarsa. Poin Google adalah yangLast-Modified
membutuhkan GET bersyarat, sedangkanExpires
memungkinkan cache browser untuk melewati GET sama sekali.