黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

Spring Session教程
Spring Session常見的應(yīng)用場景
Spring Session的執(zhí)行流程
Session會話管理

Session會話管理

Web中的Session和Cookie回顧

1. Session機制

由于HTTP協(xié)議是無狀態(tài)的協(xié)議,一次瀏覽器和服務(wù)器的交互過程就是:

瀏覽器:你好嗎?

服務(wù)器:很好!

這就是一次會話,對話完成后,這次會話就結(jié)束了,服務(wù)器端并不能記住這個人,下次再對話時,服務(wù)器端并不知道是上一次的這個人,所以服務(wù)端需要記錄用戶的狀態(tài)時,就需要用某種機制來識別具體的用戶,這個機制就是Session。

2. Cookie

服務(wù)端如何識別特定的客戶?

這個時候需要使用Cookie。每次HTTP請求的時候,客戶端都會發(fā)送相應(yīng)的Cookie信息到服務(wù)端。

實際上大多數(shù)的應(yīng)用都是用 Cookie 來實現(xiàn)Session跟蹤的,第一次創(chuàng)建Session時,服務(wù)端會在HTTP協(xié)議中向客戶端 Cookie 中記錄一個Session ID,以后每次請求把這個會話ID發(fā)送到服務(wù)器,這樣服務(wù)端就知道客戶端是誰了。

3. url重寫

那么如果客戶端的瀏覽器禁用了 Cookie 怎么辦?

一般這種情況下,會使用一種叫做URL重寫的技術(shù)來進行session會話跟蹤,即每次HTTP交互,URL后面都會被附加上一個諸如 sessionId=xxxxx 這樣的參數(shù),服務(wù)端據(jù)此來識別客戶端是誰。

在Web項目開發(fā)中,Session會話管理是一個很重要的部分,用于存儲與記錄用戶的狀態(tài)或相關(guān)的數(shù)據(jù)。

通常情況下session交由容器(tomcat)來負責(zé)存儲和管理,但是如果項目部署在多臺tomcat中,則session管理存在很大的問題;

多臺tomcat之間無法共享session,比如用戶在tomcat A服務(wù)器上已經(jīng)登錄了,但當(dāng)負載均衡跳轉(zhuǎn)到tomcat B時,由于tomcat B服務(wù)器并沒有用戶的登錄信息,session就失效了,用戶就退出了登錄;

 一旦tomcat容器關(guān)閉或重啟也會導(dǎo)致session會話失效;

因此如果項目部署在多臺tomcat中,就需要解決session共享的問題。

Session會話管理及帶來的問題

在Web項目開發(fā)中,Session會話管理是一個很重要的部分,用于存儲與記錄用戶的狀態(tài)或相關(guān)的數(shù)據(jù)。

通常情況下session交由容器(tomcat)來負責(zé)存儲和管理,但是如果項目部署在多臺tomcat中,則session管理存在很大的問題:

• 多臺tomcat之間無法共享session,比如用戶在tomcat A服務(wù)器上已經(jīng)登錄了,但當(dāng)負載均衡跳轉(zhuǎn)到tomcat B時,由于tomcat B服務(wù)器并沒有用戶的登錄信息,session就失效了,用戶就退出了登錄;

• 一旦tomcat容器關(guān)閉或重啟也會導(dǎo)致session會話失效;

因此如果項目部署在多臺tomcat中,就需要解決session共享的問題。

Session會話共享方案

第一種:是使用容器擴展插件來實現(xiàn),比如基于Tomcat的tomcat-redis-session-manager插件,基于Jetty的jetty-session-redis插件、memcached-session-manager插件;這個方案的好處是對項目來說是透明的,無需改動代碼,但是由于過于依賴容器,一旦容器升級或者更換意味著又得重新配置;其實底層是,復(fù)制session到其它服務(wù)器,所以會有一定的延遲,也不能部署太多的服務(wù)器。

第二種:是使用Nginx負載均衡的ip_hash策略實現(xiàn)用戶每次訪問都綁定到同一臺具體的后臺tomcat服務(wù)器實現(xiàn)session總是存在這種方案的局限性是ip不能變,如果手機從北京跳到河北,那么ip會發(fā)生變化;另外負載均衡的時候,如果某一臺服務(wù)器發(fā)生故障,那么會重新定位,也會跳轉(zhuǎn)到別的機器。

第三種:是自己寫一套Session會話管理的工具類,在需要使用會話的時候都從自己的工具類中獲取,而工具類后端存儲可以放到Redis中,這個方案靈活性很好,但開發(fā)需要一些額外的時間。

第四種:是使用框架的會話管理工具,也就是我們要介紹的Spring session,這個方案既不依賴tomcat容器,又不需要改動代碼,由Spring session框架為我們提供,可以說是目前非常完美的session共享解決方案。

全部教程
主站蜘蛛池模板: 欧美日韩国产成人精品 | 免费视频精品一区二区 | 五月天伊人 | 国产成人18黄禁网站免费观看 | 日本一本在线观看 | 国精品在亚洲_欧美 | 簧片视频在线观看 | 国产精品免费小视频 | 成 人 黄 色 全 集 | 黄色视屏日本 | 欧美成人区 | 久久精品94精品久久精品动漫 | 日韩伦理亚洲欧美在线一区 | 国产一区二区三区美女秒播 | 欧美日韩精品福利在线观看 | 久久综合免费 | 日日操干 | 欧美福利视频导航 | 天天干天天草 | 看国产黄色片 | 日本一区二区三区视频在线观看 | 青青草国产免费一区二区 | 中国一级特黄毛片 | 岛国毛片在线 | 99爱在线精品视频网站 | 欧美性猛交一区二区三区精品 | 日本在线一区二区 | 97av视频 | 2015小明永久领域日韩 | 制服丝袜在线第一页 | 国产伦码精品一区二区 | 日韩精品欧美亚洲高清有无 | 91亚洲精品第一综合不卡播放 | free性中国hd护士高清 | 色婷婷成人网 | 成人h视频 | 亚洲三级在线视频 | 欧美精品xxx | 大好硬好深好爽想要视频 | 人成午夜性刺激免费 | 国产一级片播放 |