Caching browser yang disebut berarti bahwa ketika Anda mengakses halaman web untuk pertama kalinya, browser akan men-cache halaman web ini secara lokal. Ketika Anda mengakses halaman web yang di -cache ini di waktu berikutnya, browser akan langsung membaca konten halaman web ini dari area lokal tanpa harus mendapatkannya dari jaringan.
Meskipun fungsi caching yang disediakan oleh browser dapat secara efektif meningkatkan kecepatan pemuatan halaman web, untuk beberapa halaman web yang memerlukan pembaruan waktu nyata, mekanisme caching ini akan mempengaruhi tampilan normal halaman web. Untungnya, ada tiga bidang di header pesan respons HTTP untuk mematikan fungsi cache browser klien. Tiga pernyataan berikut menggunakan tiga bidang ini untuk menutup cache browser:
response.setDateheader ("kedaluwarsa", 0); response.setheader ("cache-control", "no-cache"); response.setheader ("pragma", "no-cache");Meskipun tiga bidang header pesan respons HTTP di atas semua dapat menutup cache browser. Namun, tidak semua browser mendukung ketiga bidang header pesan respons ini, jadi yang terbaik adalah menggunakan bidang header pesan tiga respons di atas untuk menutup cache browser.
Contoh: Nonaktifkan browser dari cache halaman web saat ini
1. Deskripsi contoh
Program ini menunjukkan kinerja saat mengirimkan pesan permintaan melalui formulir ketika cache browser tidak ditutup dan cache browser ditutup.
2. Tulis kelas cache
Cache browser ditutup menggunakan bidang header pesan tiga respons di atas di kelas cache dan mengeluarkan sepotong kode HTML ke klien untuk menguji efek menutup cache dan tidak menutup cache. Kode implementasi kelas cache adalah sebagai berikut:
Cache kelas publik memperluas httpservlet {public void service (permintaan httpservletRequest, httpservletResponse response) melempar servletException, ioException {response.setContentType ("text/html; charset = UTF-8"); String cache = request.getParameter ("cache"); if (cache! = null) {if (cache.equals ("false")) {// tutup respons cache browser.setDateheader ("kedaluwarsa", 0); response.setheader ("cache-control", "no-cache"); response.setheader ("pragma", "no-cache"); }} // Tentukan kode html string html = "<form id = 'form', action = 'test' Method = 'Post'>" + "nama: <input type = 'teks' name = 'name'/>" + "<input type = 'kirim' value = 'kirim'/" + "</form>"; Printwriter out = response.getWriter (); out.println (html); // output kode html ke klien}}Seperti yang dapat dilihat dari kode di atas, cache browser ditutup ketika nilai parameter permintaan cache salah.
3. Konfigurasikan kelas cache
Kode konfigurasi kelas cache adalah sebagai berikut:
<servlet> <servlet-name> cache </servlet-name> <servlet-class> bab5.cache </servlet-class> </servlet> <servlet-papping> <servlet-name> cache </servlet-name> <Url-pattern>/cache </rerl-pattern> </servlet-mapping>
4. Uji situasi di mana cache browser tidak ditutup
Masukkan URL berikut di bilah alamat browser:
http: // localhost: 8080/demo/cache? cache = true
Masukkan string apa pun di kotak teks [Nama] dan klik tombol [Kirim]. Pada saat ini, browser akan menampilkan pengecualian (pengecualian ini disebabkan oleh tes yang dikirimkan yang tidak ada, jadi kami tidak perlu khawatir tentang hal itu), dan kemudian klik tombol kembali browser untuk kembali ke halaman tempat data dimasukkan sekarang. Kita dapat melihat bahwa string yang dimasukkan sekarang masih ada. Ini berarti bahwa ketika kembali, browser tidak mendapatkan kembali halaman dari server, tetapi memuat ulang halaman saat ini dari cache lokal.
5. Uji situasi tertutup cache browser
Masukkan URL berikut di bilah alamat browser untuk menutup cache browser:
http: // localhost: 8080/demo/cache? cache = false
Kirim dan kembalikan pada langkah sebelumnya, dan menemukan bahwa data yang dimasukkan baru saja hilang. Ini berarti bahwa setelah menutup cache browser, browser akan selalu mendapatkan kembali halaman saat ini dari server setiap kali kembali. Oleh karena itu, halaman saat ini selalu mempertahankan nilai awal.
6. Ringkasan Prosedur
Saat menutup cache browser, untuk memastikan bahwa itu efektif di sebagian besar browser sebanyak mungkin, saya sarankan menggunakan bidang header pesan respons HTTP di atas untuk menutup cache browser pada saat yang sama.
Meringkaskan
Di atas adalah metode Javaweb yang melarang browser untuk menembus halaman web saat ini. Saya harap ini akan membantu semua orang. Jika Anda memiliki pertanyaan, silakan tinggalkan saya pesan dan editor akan membalas semua orang tepat waktu. Terima kasih banyak atas dukungan Anda ke situs web Wulin.com!