不一樣的瀏覽器採用不一樣的方式保存Cookie。java
IE瀏覽器會在「C:\Documents and Settings\你的用戶名\Cookies」文件夾下以文本文件形式保存,一個文本文件保存一個Cookie。web
1.1.2 記錄用戶訪問次數sql
Java中把Cookie封裝成了javax.servlet.http.Cookie類。每一個Cookie都是該Cookie類的對象。服務器經過操做Cookie類對象對客戶端Cookie進行操做。經過request.getCookie()獲取客戶端提交的全部Cookie(以Cookie[]數組形式返回),經過response.addCookie(Cookiecookie)向客戶端設置Cookie。數據庫
Cookie對象使用key-value屬性對的形式保存用戶狀態,一個Cookie對象保存一個屬性對,一個request或者response同時使用多個Cookie。由於Cookie類位於包javax.servlet.http.*下面,因此JSP中不須要import該類。json
1.1.3 Cookie的不可跨域名性vim
不少網站都會使用Cookie。例如,Google會向客戶端頒發Cookie,Baidu也會向客戶端頒發Cookie。那瀏覽器訪問Google會不會也攜帶上Baidu頒發的Cookie呢?或者Google能不能修改Baidu頒發的Cookie呢?windows
答案是否認的。Cookie具備不可跨域名性。根據Cookie規範,瀏覽器訪問Google只會攜帶Google的Cookie,而不會攜帶Baidu的Cookie。Google也只能操做Google的Cookie,而不能操做Baidu的Cookie。跨域
Cookie在客戶端是由瀏覽器來管理的。瀏覽器可以保證Google只會操做Google的Cookie而不會操做Baidu的Cookie,從而保證用戶的隱私安全。瀏覽器判斷一個網站是否能操做另外一個網站Cookie的依據是域名。Google與Baidu的域名不同,所以Google不能操做Baidu的Cookie。數組
須要注意的是,雖然網站images.google.com與網站www.google.com同屬於Google,可是域名不同,兩者一樣不能互相操做彼此的Cookie。瀏覽器
注意:用戶登陸網站www.google.com以後會發現訪問images.google.com時登陸信息仍然有效,而普通的Cookie是作不到的。這是由於Google作了特殊處理。本章後面也會對Cookie作相似的處理。
boolean secure
該Cookie是否僅被使用安全協議傳輸。安全協議。安全協議有HTTPS,SSL等,在網絡上傳輸數據以前先將數據加密。默認爲false
String path
該Cookie的使用路徑。若是設置爲「/sessionWeb/」,則只有contextPath爲「/sessionWeb」的程序能夠訪問該Cookie。若是設置爲「/」,則本域名下contextPath均可以訪問該Cookie。注意最後一個字符必須爲「/」
String domain
能夠訪問該Cookie的域名。若是設置爲「.google.com」,則全部以「google.com」結尾的域名均可以訪問該Cookie。注意第一個字符必須爲「.」
1.1.9 Cookie的域名
Cookie是不可跨域名的。域名www.google.com頒發的Cookie不會被提交到域名www.baidu.com去。這是由Cookie的隱私安全機制決定的。隱私安全機制可以禁止網站非法獲取其餘網站的Cookie。
正常狀況下,同一個一級域名下的兩個二級域名如www.helloweenvsfei.com和images.helloweenvsfei.com也不能交互使用Cookie,由於兩者的域名並不嚴格相同。若是想全部helloweenvsfei.com名下的二級域名均可以使用該Cookie,須要設置Cookie的domain參數,例如:
Cookie cookie = new Cookie("time","20080808"); // 新建Cookie
cookie.setDomain(".helloweenvsfei.com"); // 設置域名
cookie.setPath("/"); // 設置路徑
cookie.setMaxAge(Integer.MAX_VALUE); // 設置有效期
response.addCookie(cookie); // 輸出到客戶端
這裏是不一樣windows版本cookie存儲的路徑
2000、Xp:
Cookie:C:/Documents and Settings/[user name]/Cookies/
Vista、Win7:
在Vista、Win7中,權限管理較爲嚴格,IE7/IE8 默認運行使用了保護模式機制,在保護機制下,IE 運行於低權限。若是 IE 運行在低權限下,則將目錄設置爲對應的Low目錄,以下:
Cookie: C:/Users/[user name]/AppData/Roaming/Microsoft/Windows/Cookies/
C:/Users/[user name]/AppData/Roaming/Microsoft/Windows/Cookies/Low/
進入到目錄之後按最新時間排序第一個文件就是你當前操做的cookie文件,這裏的文件名是隨機生成的。
是保存在sqlite數據庫中的, 不可讀的!!!
[root@localhost ~]# cd /root/.mozilla/firefox/05yqkdom.default
[root@localhost 05yqkdom.default]# ls
adblockplus gmp prefs.js
addons.json gmp-gmpopenh264 reading-list.sqlite
blocklist.xml healthreport revocations.txt
bookmarkbackups healthreport.sqlite search.json
cert8.db healthreport.sqlite-shm search-metadata.json
compatibility.ini healthreport.sqlite-wal secmod.db
content-prefs.sqlite jetpack sessionCheckpoints.json
cookies.sqlite key3.db sessionstore-backups
cookies.sqlite-shm lock SiteSecurityServiceState.txt
cookies.sqlite-wal logins.json storage
crashes mimeTypes.rdf times.json
datareporting minidumps webapps
enumerate_devices.txt permissions.sqlite webappsstore.sqlite
extensions places.sqlite webappsstore.sqlite-shm
extensions.ini places.sqlite-shm webappsstore.sqlite-wal
extensions.json places.sqlite-wal xulstore.json
formhistory.sqlite pluginreg.dat
[root@localhost 05yqkdom.default]# vim cookies.sqlite
[root@localhost 05yqkdom.default]# vim cookies.sqlite-shm
[root@localhost 05yqkdom.default]# vim cookies.sqlite-wal
[root@localhost 05yqkdom.default]#
cookies.sqlite
設置cookie爲空
建立cookie
分頁的樣式: