Bagaimana mencegah caching di Internet Explorer

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 234067 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

Pada Halaman ini

RINGKASAN

Artikel ini menjelaskan penggunaan HTTP header untuk mengontrol caching halaman Web di Internet Explorer.

Anda dapat menggunakan Microsoft Internet Information Server (IIS) untuk dengan mudah menandai halaman sangat mudah menguap atau sensitif yang menggunakan script berikut pada awal ekstrim Active Server Pages (ASP) halaman tertentu:
<% Response.CacheControl = "no-cache" %>
<% Response.AddHeader "Pragma", "no-cache" %>
<% Response.Expires = -1 %>
				

INFORMASI LEBIH LANJUT

Kedaluwarsa dan berakhir Header

Sangat dianjurkan bahwa semua Web server menggunakan skema untuk kadaluarsa semua halaman Web. Ini adalah praktik yang buruk untuk server Web tidak untuk memasok kadaluarsa informasi melalui respon HTTP Expires header untuk setiap sumber daya yang dikembalikan ke klien meminta. Kebanyakan browser dan menengah proxy hari ini menghargai informasi kadaluarsa ini dan menggunakannya untuk meningkatkan efisiensi komunikasi melalui jaringan.

Expires header selalu digunakan untuk menentukan waktu paling masuk akal ketika file tertentu pada server perlu diupdate oleh klien. Ketika halaman diperbarui secara teratur, periode berikutnya untuk pembaruan adalah respon yang paling efisien. Ambil, misalnya, halaman berita harian di Internet yang diperbarui setiap hari pada pukul 5 pagi Web server untuk halaman berita ini harus kembali Expires header dengan nilai untuk 5 pagi keesokan harinya. Ketika hal ini dilakukan, browser tidak perlu menghubungi Web server lagi sampai halaman telah benar-benar berubah.

Halaman yang tidak diharapkan untuk mengubah harus ditandai dengan tanggal kadaluarsa sekitar satu tahun.

Dalam banyak kasus, Web server memiliki satu atau lebih stabil halaman pada server yang berisi informasi yang berubah segera. Halaman tersebut harus jadi ditandai oleh server dengan nilai "1" untuk Expires header. Pada masa depan permintaan oleh pengguna, Internet Explorer biasanya kontak Web server untuk pembaruan kepada halaman melalui bersyarat jika-diubah-sejak permintaan. Namun, halaman tetap dalam cache disk ("Temporary Internet Files") dan digunakan dalam situasi yang tepat tanpa menghubungi server Web jauh, seperti ketika tombol mundur atau maju digunakan untuk mengakses sejarah navigasi atau ketika browser adalah dalam modus offline.

Header Cache-Control

Halaman tertentu, namun, sangat mudah menguap atau sensitif bahwa mereka memerlukan tidak ada disk cache. Untuk tujuan ini, Internet Explorer mendukung header HTTP 1.1 Cache-Control, yang mencegah caching semua sumber daya Web tertentu ketika cache tidak ada nilai yang ditetapkan oleh server HTTP 1.1.

Karena halaman yang disimpan di cache tidak dapat diakses hingga browser dapat kembali kontak Web server, server harus menggunakan header Cache-Control hemat. Dalam kebanyakan kasus, penggunaan "Expires:-1" disukai.

Pragma: Tidak ada-Cache Header

Sayangnya, warisan HTTP 1.0 server tidak dapat menggunakan header Cache-Control. Untuk keperluan kompatibilitas dengan HTTP 1.0 server, Internet Explorer mendukung penggunaan khusus HTTP Pragma: no-cache header. Jika klien berkomunikasi dengan server melalui sambungan aman (https://) dan server kembali Pragma: no-cache header dengan respon, Internet Explorer cache respon.

Namun, perlu diketahui bahwa Pragma: no-cache header tidak dimaksudkan untuk ini. Menurut HTTP 1.0 dan spesifikasi 1.1, header ini didefinisikan dalam konteks permintaan hanya, tidak respon, dan benar-benar dimaksudkan untuk proxy server yang dapat mencegah permintaan penting tertentu mencapai tujuan Web server. Untuk masa depan aplikasi, header Cache-Control adalah cara tepat untuk mengendalikan caching.

HTTP-EQUIV META tag

Halaman HTML memungkinkan untuk bentuk HTTP-EQUIV khusus META tag yang menentukan header HTTP tertentu dari dalam dokumen HTML. Berikut adalah contoh singkat HTML halaman yang menggunakan Pragma kedua: no-cache dan Expires:-1:
<HTML><HEAD>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1">
</HEAD><BODY>
</BODY>
</HTML>
				
Pragma: tidak ada-cache mencegah caching hanya ketika digunakan melalui sambungan aman. Pragma: tidak ada-cache META tag diperlakukan identik untuk Expires:-1 jika digunakan dalam halaman yang tidak aman. Halaman akan cache tapi ditandai sebagai segera kedaluwarsa.

Cache-Control META HTTP-EQUIV Tag diabaikan dan tidak berpengaruh dalam Internet Explorer versi 4 atau 5. Untuk menggunakan Cache-Control header ini harus ditentukan dengan menggunakan HTTP header seperti yang dijelaskan di bagian Cache-Control atas.

Perhatikan bahwa penggunaan standar HTTP header banyak pilihan atas META tag. META tag biasanya harus muncul di atas bagian kepala HTML. Dan ada setidaknya satu masalah yang dikenal dengan Pragma HTTP-EQUIV META tag. Untuk informasi selengkapnya, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
222064"Pragma: No-cache" tag dapat tidak mencegah halaman yang di-cache

Pilihan server untuk Caching

Ketika header Cache-Control kebutuhan untuk digunakan pada halaman non-ASP, mungkin perlu menggunakan pilihan pada konfigurasi server untuk menambah tajuk secara otomatis. Lihat dokumentasi server Anda untuk proses penambahan header HTTP server tanggapan untuk direktori tertentu. Sebagai contoh, dalam IIS 4, ikuti langkah berikut:
  • Memohon Internet Services Manager.
  • Menggunakan komputer dan layanan pohon, buka Default Web Server (atau web server yang bersangkutan) dan menemukan direktori yang berisi konten yang perlu header Cache-Control.
  • Memunculkan kotak dialog properti untuk direktori tersebut.
  • Pilih tab header HTTP.
  • Klik tombol Tambah di kelompok Custom HTTP header dan menambahkan "Cache-Control" untuk nama header dan "no-cache" nilai header.
Ingat bahwa itu bukan ide yang baik untuk menggunakan header ini secara global di seluruh Web server. Membatasi penggunaannya murni untuk konten yang benar-benar tidak harus cache pada klien. Masalah Checklist Jika Anda telah menerapkan teknik dalam artikel ini dan Anda masih mengalami masalah dengan cache dan Internet Explorer, silahkan lihat daftar ini berguna langkah demi langkah sebelum menghubungi Microsoft untuk bantuan teknis:
  • Apakah Anda menggunakan header Cache-Control dengan ASP "Response.CacheControl" properti atau melalui kembali HTTP header? Ini adalah satu-satunya cara untuk benar-benar mencegah caching di Internet Explorer.
  • Apakah Anda menggunakan Internet Explorer 4.01 Service Pack 2 atau lebih tinggi? Tidak ada cara untuk benar-benar mencegah caching di versi sebelumnya dari browser.
  • Telah Anda mengecek bahwa server web Anda memiliki HTTP 1.1 dihidupkan dan kembali HTTP 1.1 responses to Internet Explorer? Header cache-Control tidak sah dalam respon HTTP 1.0.
  • Jika Anda menggunakan CGI/ISAPI/Servlets di sisi server, apakah Anda mengikuti spesifikasi HTTP 1.1 persis, terutama dalam hal pemutusan CRLF HTTP header? Dalam kepentingan kinerja, Internet Explorer biasanya tak kenal ampun respon yang melanggar spesifikasi HTTP 1.1. Ini biasanya hasil header diabaikan atau laporan kesalahan tak terduga server.
  • Header HTTP dieja dengan benar?

REFERENSI

165150 Cara menggunakan Pragma: No-cache dengan IIS dan IE
Untuk informasi lebih lanjut tentang HTTP/1.1, kunjungi Website berikut untuk mendapatkan RFC 2616:
http://www.w3.org/Protocols/rfc2616/rfc2616.html

Properti

ID Artikel: 234067 - Kajian Terakhir: 20 September 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft Internet Explorer 4.01 Service Pack 1
  • Microsoft Internet Explorer 6.0
Kata kunci: 
kbcaching kbFAQ kbhowto kbmt KB234067 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:234067

Berikan Masukan

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com