1 Apa itu kue
Browser dan server web berkomunikasi menggunakan protokol HTTP. Ketika pengguna mengeluarkan permintaan halaman, server web hanya merespons dan kemudian menutup koneksi dengan pengguna. Oleh karena itu, ketika permintaan dikirim ke server web, terlepas dari apakah itu kunjungan pertama, server akan memperlakukannya sebagai yang pertama kali. Ini adalah hal buruk yang bisa dibayangkan. Untuk menebus cacat ini, Netscape telah mengembangkan cookie, alat yang efektif untuk menyimpan informasi identifikasi pengguna tertentu, sehingga orang -orang menjuluki "cookie manis". Cookie adalah sarana yang digunakan server web informasi tentang hard disk pengunjung melalui browser: Netscape Navigator menggunakan file lokal yang disebut cookies.txt untuk menyimpan informasi cookie yang diterima dari semua situs; Sementara IE Browser menyimpan informasi cookie di direktori yang mirip dengan C:/Windows/cookie. Ketika pengguna mengunjungi situs lagi, server akan meminta browser untuk menemukan dan mengembalikan informasi cookie yang sebelumnya dikirim untuk mengidentifikasi pengguna.
2 empat atribut cookie
Max-Age menentukan masa hidup cookie (dalam detik)! Secara default, nilai cookie hanya ada selama sesi browser, dan nilai -nilai ini menghilang ketika pengguna keluar dari browser!
Path menentukan halaman web yang terkait dengan cookie. Secara default, cookie dikaitkan dengan halaman web yang membuatnya, serta halaman web di direktori yang sama dengan halaman web dan subdirektori di direktori.
Pengaturan Domain Domain Access Misalnya: Server yang terletak di order.example.com perlu membaca cookie yang ditetapkan oleh Catalog.example.com. Di sini Anda perlu memperkenalkan atribut domain. Dengan asumsi bahwa cookie yang dibuat oleh halaman yang terletak di Catalog.example.com menetapkan atribut jalurnya ke "/" dan atribut domain ke ".example.com", lalu semua halaman web yang terletak di "Catalog.example.com" dan semua halaman web yang terletak di "ORDERS.EXAMPLE" dan semua halaman web yang terletak di "orders.example.com" dan semua server lainnya yang terletak di server lainnya yang terletak di server lainnya yang terletak di server lainnya yang terletak di server lainnya yang terletak di server lainnya yang terletak di server lainnya yang terletak di Lain Jika nilai domain cookie tidak diatur, nilai default atribut ini adalah nama host server di mana halaman web tempat cookie dibuat. Catatan: Domain cookie tidak dapat diatur ke domain di luar domain tempat server berada.
Seure menentukan bagaimana nilai cookie ditransmisikan di jaringan
3 operasi cookie java
Buat cookie
// Objek cookie baru, pasangan nilai kunci adalah cookie cookie parameter = cookie baru ("kunci", "nilai cookie"); Jika nilai cookie berisi bahasa Cina, cookie perlu dikodekan, jika kode yang kacau akan terjadi. Gunakan urlencoder.encode ("nilai cookie", "UTF-8"); // Atur waktu kelangsungan hidup maksimum cookie, dalam hitungan detik, jika angka negatif adalah proses browser, tutup cookie browser menghilang cookie.setmaxage (*24*60*60); // Suatu hari // Tambahkan cookie ke respons untuk membuat EFECK response.addcookie (cookie); // Setelah addCookie, jika cookie dengan nama yang sama sudah ada, yang terbaru menimpa cookie lamaCatatan: Dalam Struts, Anda dapat menggunakan ServeTletActionContext.getResponse () untuk mendapatkan objek respone
Baca cookie
Membaca cookie hanya bisa mendapatkan semua cookie dari permintaan dan kemudian beralih dalam satu lingkaran.
Di Struts, Anda dapat menggunakan ServETLETACTICECONTEXT.GetRequest () untuk mendapatkan objek permintaan
// Dapatkan cookie dari permintaan, dan Anda mendapatkan serangkaian cookie cookie [] cookies = request.getCookies (); // Lalu Iterate if (cookies! = Null && cookies.length> 0) {// Jika Anda belum mengatur cookie, itu akan mengembalikan null untuk (cookie cookie: cookies) {...}} Hapus cookie
Jika Anda menghapus cookie, Anda hanya perlu mengatur seumur hidup cookie menjadi 0.
Cookie [] cookies = request.getCookies (); if (cookies! = null && cookies.length> 0) {for (cookie cookie: cookies) {string name = cookie.getName (); // Temukan cookie yang perlu dihapus jika (name.coCareto ("target-key") == 0) {// atur seumur hidup ke 0 cookie.setmaxage (0); // Atur kembali ke response.addcookie (cookie); }}}Metode setPath dari 4 cookie digunakan:
Cookie normal hanya dapat dibagikan dalam satu aplikasi, yaitu cookie hanya dapat diperoleh dengan aplikasi yang membuatnya.
1. Metode ini dapat dibagikan dalam server aplikasi yang sama: Setel cookie.setpath ("/");
Ada dua aplikasi di bawah Tomcat/WebApp asli: Webapp_a dan Webapp_B.
1) Ternyata cookie yang diatur di bawah WebApp_A tidak dapat diperoleh di bawah WebApp_B. Jalur adalah jalur aplikasi yang menghasilkan cookie secara default.
2) Jika Anda mengatur cookie di bawah webapp_a, tambahkan cookie.setpath ("/"); atau cookie.setpath ("/webapp_b/");
Anda bisa mendapatkan cookie yang ditetapkan oleh CAS di bawah WebApp_B.
3) parameter di sini relatif terhadap direktori root dari folder aplikasi yang disimpan oleh server aplikasi (seperti Webapp di bawah Tomcat), jadi cookie.setpath ("/"); Setelah itu, cookie dapat dibagikan di semua aplikasi di bawah folder webapp, dan cookie.setpath ("/webapp_b/");
Ini berarti bahwa cookie yang ditetapkan oleh aplikasi CAS hanya dapat diperoleh di bawah aplikasi Webapp_b, dan bahkan aplikasi Webapp_a yang menghasilkan cookie ini tidak dapat digunakan.
4) Saat mengatur cookie.setpath ("/webapp_b/jsp") atau cookie.setpath ("/webapp_b/jsp/"), cookie hanya dapat diperoleh di bawah webapp_b/jsp, tetapi cookie tidak dapat diperoleh di luar folder JSP.
5) atur cookie.setpath ("/webapp_b"); berarti cookie hanya dapat digunakan di bawah WebApp_B, sehingga cookie tidak dapat diperoleh di bawah WebApp_a yang menghasilkan cookie.
6) ketika ada beberapa cookies.setpath ("xxx"); Pernyataan, yang terakhir akan menang.
5 Cookie.SetDomain Metode Desain Berbagi Domain Silang
Domain Where Machine A berada: home.langchao.com, A memiliki aplikasi webapp_a
Domain tempat mesin B berada: jszx.com, b memiliki aplikasi webapp_b
1) Saat mengatur cookie di bawah webapp_a, tambahkan cookie.setDomain (". Jszx.com"); Sehingga Anda bisa mendapatkan cookie di bawah WebApp_B.
2) Saat memasukkan URL untuk mengakses Webapp_B, Anda harus memasukkan nama domain untuk diselesaikan. Misalnya, saat memasuki: http://lc-bsp.jszx.com:8080/webapp_b di mesin A, Anda bisa mendapatkan cookie yang diatur oleh Webapp_a pada klien, sementara saat memasuki: http: // localhost: 8080/webapp_b, Anda tidak bisa mendapatkan cookie.
3) cookie.setDomain (". Jszx.com"); juga dapat dibagikan di bawah home.langchao.com default
Klise di atas berbicara tentang penggunaan cookie di Java adalah semua konten yang saya bagikan dengan Anda. Saya harap ini dapat memberi Anda referensi dan saya harap Anda dapat mendukung wulin.com lebih lanjut.