文章插圖

文章插圖
Cookie與Session的作用于原理
會話跟蹤是Web程序中常用的技術,用來跟蹤用戶的整個會話 。常用的會話跟蹤技術是Cookie與Session 。Cookie通過在客戶端記錄信息確定用戶身份,Session通過在服務器端記錄信息確定用戶身份 。CookieCookie實際上是一小段的文本信息 ??蛻舳苏埱蠓掌?,如果服務器需要記錄該用戶狀態,就產生一個用戶身份標識,然后在響應消息中將該標識號以Cookie的形式傳遞給瀏覽器.客戶端瀏覽器會把Cookie保存起來 。瀏覽器在以后每次訪問該web服務器時,瀏覽器把請求的網址連同該Cookie一同提交給服務器 。服務器檢查該Cookie,以此來辨認用戶狀態 。服務器還可以根據需要修改Cookie的內容. Cookie不能被瀏覽器共享Cookie具有不可跨域名性,例如瀏覽器訪問Google只會攜帶Google的Cookie,而不會攜帶Baidu的Cookie 。Cookie的maxAge決定著Cookie的有效期,單位為秒(Second).
默認情況下,cookie是一個會話級別的,用戶退出瀏覽器后被刪除
SessionSession是另一種記錄客戶狀態的機制,不同的是Cookie保存在客戶端瀏覽器中,而Session保存在服務器上 。客戶端瀏覽器訪問服務器的時候,服務器把客戶端信息以某種形式記錄在服務器上 。這就是Session 。如果說Cookie機制是通過檢查客戶身上的“通行證”來確定客戶身份的話,那么Session機制就是通過檢查服務器上的“客戶明細表”來確認客戶身份 。Session相當于程序在服務器上建立的一份客戶檔案,客戶來訪的時候只需要查詢客戶檔案表就可以了 。
【給session設置時間 如何設置session失效時間】Session保存在服務器端 。為了獲得更高的存取速度,服務器一般把Session放在內存里 。每個用戶都會有一個獨立的Session 。如果Session內容過于復雜,當大量客戶訪問服務器時可能會導致內存溢出 。因此,Session里的信息應該盡量精簡 。
session工作原理(1)web不會在客戶端開始訪問它時創建session,在訪問特殊的程序并且該程序(servlet)決定與客戶端開啟會話時,服務器生成一個唯一值,稱為Session ID(好像是通過取進程ID的方式取得的) 。服務器開辟一塊內存,對應于該Session ID 。(2)服務器再將該Session ID寫入瀏覽器的cookie 。(3)服務器內有一進程,監視所有Session的活動狀況,如果有Session超時或是主動關閉,服務器就釋放該內存塊 。(4)當瀏覽器連入服務器時并請求Session時,服務器就讀瀏覽器Cookie中的Session ID 。(5)然后,服務檢查該Session ID所對應的內存是否有效 。(6)如果有效,就讀出內存中的值 。(7)如果無效,就建立新的Session 。
tomcat默認設置是30分鐘具體設置很簡單,方法有三種:(1)在主頁面或者公共頁面中加入:session.setMaxInactiveInterval(900);參數900單位是秒,即在沒有活動15分鐘后,session將失效 。設置為-1將永不關閉 。這里要注意這個session設置的時間是根據服務器來計算的,而不是客戶端 。所以如果是在調試程序,應該是修改服務器端時間來測試,而不是客戶端 。
(2)也是比較通用的設置session失效時間的方法,就是在項目的web.xml中設置
<session-config><session-timeout>15</session-timeout></session-config>這里的15也就是15分鐘失效.(3)直接在應用服務器中設置,如果是tomcat,可以在tomcat目錄下conf/web.xml中找到元素,tomcat默認設置是30分鐘,只要修改這個值就可以了 。需要注意的是如果上述三個地方如果都設置了,有個優先級的問題,從高到低:
(1)—>(2)—->(3)
生命周期:1)tomcat默認是30分鐘2)因為session和cookie有關系,客戶端瀏覽器通過cookie維持該會話,cookie不支持跨瀏覽器共享,意味著如果把瀏覽器關該會閉的話該會話就會失效(但服務端還保存著) 。因此同一機器的兩個瀏覽器窗口訪問服務器時,會生成兩個不同的Session 。
- 種月亮是什么意思 種月亮可以送給誰
- 蘋果信任在哪開啟 蘋果信任設置怎么打開
- ip電話交換機配置 交換機ip設置方法
- 58熱敏小票打印機設置打印寬度 58熱敏小票打印機設置字體大小
- 可以設置密碼對Word 文檔進行保護 word2007文檔怎么設置密碼保護
- ppt怎么設置頁面大小怎么設置 如何調節ppt頁面大小
- excel背景色怎么設置為豆綠 excel背景色怎么設置好看
- 添加硬盤后怎么操作 怎么給電腦添硬盤
- word里面單頁橫向怎么設置 如何設置word單頁橫向
- exchange郵箱怎么設置服務器和域名 手機 如何設置exchange郵箱的服務器
