Saya mencoba melakukan sesuatu yang menurut saya cukup sederhana. Dapatkan IIS 7 untuk memberi tahu klien bahwa mereka dapat menyimpan semua gambar di situs saya untuk jangka waktu tertentu, katakanlah 24 jam.
Saya telah mencoba langkah di http://www.galcho.com/Blog/post/2008/02/27/IIS7-How-to-set-cache-control-for-static-content.aspx tetapi tidak berhasil. Saya masih mendapatkan permintaan ke server dengan 304s dikembalikan.
Apakah ada yang punya cara untuk melakukan ini? Saya memiliki situs yang intensif secara grafis dan pengguna saya dipukul (begitu juga server saya) setiap kali mereka meminta halaman. Anehnya, gambar tersebut tampaknya memiliki "Cache-Control private, max-age = 3600" muncul di Firebug tetapi browser masih memintanya saat saya menekan F5.
Cache-Control
(max-age
) yang berbeda untuk jenis mime atau ekstensi file yang berbeda?Itu tidak benar Jeff.
Anda hanya perlu memilih folder dalam IIS 7 Manager UI Anda (mis. Gambar atau folder Aplikasi Web Default) dan kemudian klik "HTTP Response Headers". Kemudian Anda harus mengklik "Set Common Header .." di panel kanan dan pilih "Expire Web content". Di sana Anda dapat dengan mudah mengkonfigurasi usia maksimal 24 jam dengan memilih "Setelah:", memasukkan "24" di Kotak Teks dan memilih "Jam" di kotak kombo.
Paragraf pertama Anda tentang entri web.config benar. Saya akan menambahkan atribut cacheControlCustom untuk menyetel header kontrol cache ke "publik" atau apa pun yang diperlukan dalam kasus itu.
Anda bisa, tentu saja, mencapai hal yang sama dengan menyediakan entri web.config (atau file) sesuai kebutuhan.
Edit: hapus kalimat yang membingungkan :)
sumber
Cache-Control
(max-age
) yang berbeda untuk jenis mime atau ekstensi file yang berbeda?Saya menggunakan ini
untuk menyimpan konten statis selama 500 hari dengan header kontrol-cache publik.
sumber
Refresh F5 memiliki semantik "harap muat ulang HTML saat ini DAN ketergantungan langsungnya". Oleh karena itu, Anda akan melihat sumber daya imgs, css dan js yang secara langsung direferensikan oleh HTML juga sedang diambil ulang. Tentu saja 304 adalah respons yang dapat diterima untuk ini tetapi penyegaran F5 menyiratkan bahwa browser akan membuat permintaan daripada mengandalkan konten cache baru.
Alih-alih, cobalah menavigasi ke tempat lain dan kemudian menavigasi kembali.
Anda dapat memaksa refresh, melewati 304, dengan menahan ctrl sambil menekan f5 di kebanyakan browser.
sumber
Untuk menyimpan konten statis selama 365 hari dengan header kontrol cache publik , IIS dapat dikonfigurasi dengan yang berikut ini
Ini akan diterjemahkan menjadi tajuk seperti ini:
Perhatikan bahwa usia maksimal adalah delta dalam hitungan detik, yang dinyatakan dengan bilangan bulat 32-bit positif seperti yang dinyatakan dalam RFC 2616 Bagian 14.9.3 dan 14.9.4 . Ini mewakili nilai maksimum 2 ^ 31 atau 2.147.483.648 detik (lebih dari 68 tahun). Namun, untuk lebih memastikan kompatibilitas antara klien dan server, kami mengadopsi maksimum yang disarankan 365 hari (satu tahun).
Seperti yang disebutkan pada jawaban lain, Anda dapat menggunakan arahan ini juga di web.config situs Anda untuk semua konten statis. Sebagai alternatif, Anda juga dapat menggunakannya hanya untuk konten di lokasi tertentu (pada contoh, cache publik 30 hari untuk konten di folder "cdn"):
sumber
ada cara mudah: 1. menggunakan web.config situs web 2. di bagian "staticContent" hapus fileExtension tertentu dan tambahkan mimeMap 3. tambahkan "clientCache"
sumber