Akankah IIS reset memaksa item dalam cache dikirim ulang?

10

Saya mencoba mengembangkan strategi untuk menangani file javascript cache, css, gambar, dll ketika kami merilis pembaruan ke situs kami. Sebelum saya mulai menerapkan nomor versi pada file javascript saya bertanya-tanya apakah IIS reset setelah setiap rilis secara efektif akan menyebabkan file yang di-cache menjadi dikirim ulang.

DaveK
sumber

Jawaban:

8

Ketika Anda melakukan IISReset, IIS cache akan dihapus dan kemudian akan mulai dibangun kembali setelah mulai kembali ketika permintaan klien masuk. Jika Anda memperbarui file maka file cache yang lama akan menjadi basi dan IIS akan melayani file yang diperbarui dan perbarui cache dengan file baru.

IISReset (walaupun keras) akan menghapus cache IIS tetapi tidak akan melakukan apa pun dengan cache lokal di proksi atau klien. Mungkin Anda baru saja mencampuradukkan terminologi, tetapi tidak ada konsep "membenci" dalam hal caching. Itu semua berdasarkan permintaan. Jika klien meminta sesuatu dan ditemukan dalam cache maka itu akan dilayani dari cache. Anda harus memaksa kedaluwarsa konten pada file Anda jika Anda akan mempertahankan nama file yang sama.

squillman
sumber
Terima kasih untuk bantuannya. Maafkan ketidaktahuan saya di bidang ini ... Saya menjadi bingung antara klien dan cache IIS. Istilah 'resent' adalah merujuk ke server yang mengirim konten alih-alih ditarik dari cache klien.
DaveK
@ Jangan khawatir sama sekali, senang itu membantu! Satu bit tambahan, jika file terletak di cache klien atau cache proxy hulu maka server bahkan tidak akan menerima permintaan kecuali item yang di-cache basi dan ada versi yang lebih baru tersedia dari server.
squillman
3

Tidak, caching klien berdasarkan waktu kedaluwarsa konten.

Jim B
sumber
3

Ketika Anda memodifikasi satu file javascript, Anda membutuhkan SEMUA klien yang menjalankan aplikasi web untuk mendapatkan file baru, jelas bagi saya "baru-baru ini".

Untuk setiap klien untuk mendapatkan dari server file baru, Anda hanya perlu memasukkan dalam menyertakan / skrip javascript Anda di halaman web tersebut "?version=1".

Itu hanya perlu satu parameter bisa ?blue=helloatau ?v=1234155itu seperti yang Anda inginkan. Yang penting adalah menggunakan nilai yang berbeda setiap kali Anda mengubah javascript. "?version=1"untuk perubahan pertama, "?version=2"untuk perubahan kedua, praktis dan lajang untuk mengetahui nilai selanjutnya. Anda juga dapat menggunakan GUID jika Anda mau: "?version=4747b320-62ce-11cf-a5d6-28db04c10777"atau Anda dapat menggunakan tanggal dan waktu "?version=20130220175025"untuk 2013/02/20 17:50:25.

Contoh 1

<script type="text/javascript" src="http//..../jquery/1.7.1/jquery.min.js?version=1"></script>

Contoh # 2

<script type="text/javascript" src="http//..../jquery/1.7.1/jquery.min.js?k=4747b320-62ce-11cf-a5d6-28db04c10777"></script>
Edward López Garbanzo
sumber