成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

session過期時(shí)間設(shè)置說明

session 過期時(shí)間設(shè)置說明一. 系統(tǒng)session 配置說明針對(duì)承保(prpall)、雙核(undwrt)系統(tǒng)中,有兩個(gè)配置文件可以設(shè)置session 的過期時(shí)間 分別是web.xml 和we

session 過期時(shí)間設(shè)置說明

一. 系統(tǒng)session 配置說明

針對(duì)承保(prpall)、雙核(undwrt)系統(tǒng)中,有兩個(gè)配置文件可以設(shè)置session 的過期時(shí)間 分別是web.xml 和weblogic.xml

Web.xml 中配置

60

時(shí)間單位是一分鐘,并且只能是整數(shù),如果是零或負(fù)數(shù),那么會(huì)話就永遠(yuǎn)不會(huì)超時(shí)。 此例表示Session 將在60分鐘后過期

weblogic.xml 中設(shè)置的TimeoutSecs 屬性值。

Weblogic.xml 中配置

TimeoutSecs

1800

時(shí)間單位是一秒鐘,表示1800秒后失效。

1. 如果兩個(gè)配置文件中都有配置,且Weblogic.xml 中配置的秒數(shù)必須可以被60整除,(如60,120等) 。則按照時(shí)間最小的那個(gè)為準(zhǔn)。

2. 如果兩個(gè)配置文件中都有配置, 且Weblogic.xml 中配置的秒數(shù)必須不可以被60整除(如,45,90等)。則以web.xml 設(shè)置的時(shí)間為準(zhǔn)。

3. 如果web.xml 文件中沒有設(shè)置,且Weblogic.xml 中有配置。則按照Weblogic.xml 的設(shè)置為準(zhǔn)。

4. 為保證session 的唯一性,在weblogic 環(huán)境下,建議只在weblogic.xml 中設(shè)置。防止出現(xiàn)沖突。

,

二. 疑問

1. web.xml,weblogic.xml 同時(shí)配置時(shí),為什么會(huì)是以時(shí)間小的為準(zhǔn)? 暫時(shí)無解。

2. 對(duì)應(yīng)的weblogic.xml 必須配置為分鐘的整數(shù)倍?

如web=2m weblogic=90s,最終為以web 為準(zhǔn)。

web=3m weblogic=120s 以 weblogic為準(zhǔn)

暫時(shí)無解。

3. 關(guān)于“WEB-INF/config/appconfig/SysConstConfig.xml” 中的session 時(shí)效時(shí)間。 從目前情況看, SysConstConfig.xml 這個(gè)應(yīng)該沒有使用;那么就是 web.xml 與weblogic.xml 這兩個(gè)的配置用誰的問題了。

按網(wǎng)上說法,對(duì)應(yīng)的優(yōu)先級(jí)應(yīng)該是:自定義xml 配置的session>web.xml>weblogic.xml;個(gè)人理解為:自定義的配置最高的原因是因?yàn)?,我們程序?qū)崿F(xiàn)判斷session 時(shí)去讀取了這個(gè)時(shí)間;對(duì)于web.xml>weblogic.xml,從上述的測試過程中發(fā)現(xiàn)并不是如此。

三. 配置session 方式

WebLogic 如何設(shè)置session 超時(shí)時(shí)間

1 web.xml

設(shè)置WEB 應(yīng)用程序描述符web.xml 里的元素。這個(gè)值以分鐘為 單位,并覆蓋weblogic.xml 中的TimeoutSecs 屬性

54

此例表示Session 將在54分鐘后過期

當(dāng)設(shè)置為-2,表示將使用在weblogic.xml 中設(shè)置的

TimeoutSecs 這個(gè)屬性值。

當(dāng)設(shè)置為-1,表示Session 將永不過期,而忽略在

weblogic.xml 中設(shè)置的TimeoutSecs 屬性值。

該屬性值可以通過console 控制臺(tái)來設(shè)置

2 weblogic.xml

設(shè)置WebLogic 特有部署描述符weblogic.xml 的元素的 TimeoutSecs 屬性。這個(gè)值以秒為單位

TimeoutSecs

3600

,

默認(rèn)值是3600秒

3,jsp 中控制

session.setmaxinactiveinterval(7200);

session 是默認(rèn)對(duì)象, 可以直接引用, 單位秒s

4,servlet 中控制

session.setmaxinactiveinterval(7200);

單位秒s

在weblgoic 的console 中:xxDomain ->Servers->xxServer->Protocols->HTTP 中有一個(gè)關(guān)于Post Timeout的配置,但這個(gè)參數(shù)一般使用默認(rèn)值即可

一般是通過Services-->JDBC-->Connection Pools-->MyConnection(你所建立的連接池名) -->Configration-->Connections 里的Inactive Connection Timeout這個(gè)參數(shù)來設(shè)置的,默認(rèn)的為0,表示連接時(shí)間無限長。你可以設(shè)一個(gè)時(shí)間值,連接超過這個(gè)時(shí)間值,它會(huì)把連接強(qiáng)制放回連接池

CompleteMessageTimeout="480" IdleConnectionTimeout="600"

ListenAddress="" ListenPort="7001" Name="myserver"

NativeIOEnabled="true" ReliableDeliveryPolicy="RMDefaultPolicy"

ServerVersion="8.1.4.0">

是否IdleConnectionTimeout 參數(shù)

看連接池中高級(jí)選項(xiàng)內(nèi)的Inactive Connection Timeout和Connection Reserve Timeout時(shí)多少, 把這兩項(xiàng)設(shè)大些試試

如果在兩個(gè)文件中同時(shí)設(shè)置了超時(shí)時(shí)間,則會(huì)以web.xml 中為準(zhǔn)。

所以在weblogic 環(huán)境中,最好將web.xml 中關(guān)于超時(shí)的設(shè)置刪掉,保持唯一性。

如果使用WEBLOGIC 作為應(yīng)用服務(wù)器,設(shè)置SESSION 超時(shí)時(shí)間會(huì)選擇在WEBLOGIC 的控制臺(tái)設(shè)定。實(shí)際上,WEBLOGIC 是將超時(shí)設(shè)定保存在WEB-INF 下的weblogic.xml 中,格式如下:

TimeoutSecs

7200

param-value 中的數(shù)值就是超時(shí)時(shí)間,單位為秒。在設(shè)置完這個(gè)參數(shù)后,會(huì)發(fā)現(xiàn)超時(shí)時(shí)間并一定起效。這是為什么呢?

原來在WEB-INF 下還有一個(gè)配置文件web.xml ,里面同樣會(huì)有一段設(shè)置session ,格式如下:

,

30

session-timeout 中的值也是超時(shí)時(shí)間,單位為分鐘。

如果在兩個(gè)文件中同時(shí)設(shè)置了超時(shí)時(shí)間,則會(huì)以web.xml 中為準(zhǔn)。

所以在weblogic 環(huán)境中,最好將web.xml 中關(guān)于超時(shí)的設(shè)置刪掉,保持唯一性。 這也是發(fā)現(xiàn)了問題后,多次實(shí)驗(yàn)后發(fā)現(xiàn)的。

以下問題:

ueue: ‘billproxyqueue ’ has been busy for “727″ seconds working on the request “Http Request: /bill/y

nQueryPublic.go ”, which is more than the configured time (StuckThreadMaxTime) of “600″ seconds.>

一看明顯是連接超時(shí), 導(dǎo)致的錯(cuò)誤.

程序問題, 是不是程序中沒有關(guān)閉連接

如果程序沒問題, 則是weblogic 的StuckThreadMaxTime 設(shè)置過小而引起的, 一般weblogic server 的StuckThreadMaxTime 默認(rèn)參數(shù)是600s, 即10分鐘, 如果并發(fā)量過大, 而導(dǎo)致等待處理過多, 導(dǎo)致系統(tǒng)不停的增加線程,造成線程阻塞,你可以把該參數(shù)設(shè)置大點(diǎn)這個(gè)是稍微調(diào)大StuckThreadMaxTime 的參數(shù)即可.

看線程數(shù)設(shè)置, 可適當(dāng)增加線程數(shù),這個(gè)在WLS 控制臺(tái)中可以調(diào)整

四. 關(guān)于session 通過 在weblgoic 的console 中配置的補(bǔ)

充:

在weblogic10R3 中配置方法:

登錄console 之后,部署>選擇對(duì)應(yīng)的應(yīng)用(如 undwrt)>配置>改完后保存,會(huì)另存為其他的xml 文件,如下圖流程。

,

五. s ession 與cookie 的詳細(xì)說明

具體來說cookie 機(jī)制采用的是在客戶端保持狀態(tài)的方案,而session 機(jī)制采用的是在服務(wù)器端保持狀態(tài)的方案

,

同時(shí)我們也看到,由于采用服務(wù)器端保持狀態(tài)的方案在客戶端也需要保存一個(gè)標(biāo)識(shí),所以session 機(jī)制可能需要借助于cookie 機(jī)制來達(dá)到保存標(biāo)識(shí)的目的,但實(shí)際上它還有其他選擇。

cookie 的內(nèi)容主要包括:名字,值,過期時(shí)間,路徑和域。

其中域可以指定某一個(gè)域比如.google.com ,相當(dāng)于總店招牌,比如寶潔公司,也可以指定一個(gè)域下的具體某臺(tái)機(jī)器比如www.google.com 或者froogle.google.com ,可以用飄柔來做比。

路徑就是跟在域名后面的URL 路徑,比如/或者/foo等等,可以用某飄柔專柜做比。 路徑與域合在一起就構(gòu)成了cookie 的作用范圍。

如果不設(shè)置過期時(shí)間,則表示這個(gè)cookie 的生命期為瀏覽器會(huì)話期間,只要關(guān)閉瀏覽器窗口,cookie 就消失了。這種生命期為瀏覽器會(huì)話期的 cookie被稱為會(huì)話cookie 。會(huì)話cookie 一般不存儲(chǔ)在硬盤上而是保存在內(nèi)存里,當(dāng)然這種行為并不是規(guī)范規(guī)定的。如果設(shè)置了過期時(shí)間,瀏覽器就會(huì)把cookie 保存到硬盤上,關(guān)閉后再次打開瀏覽器,這些cookie 仍然有效直到超過設(shè)定的過期時(shí)間。

存儲(chǔ)在硬盤上的cookie 可以在不同的瀏覽器進(jìn)程間共享,比如兩個(gè)IE 窗口。而對(duì)于保存在內(nèi)存里的cookie ,不同的瀏覽器有不同的處理方式。對(duì)于IE ,在一個(gè)打開的窗口上按Ctrl-N (或者從文件菜單)打開的窗口可以與原窗口共享,而使用其他方式新開的IE 進(jìn)程則不能共享已經(jīng)打開的窗口的內(nèi)存cookie ;對(duì)于Mozilla Firefox0.8,所有的進(jìn)程和標(biāo)簽頁都可以共享同樣的cookie 。一般來說是用javascript 的window.open 打開的窗口會(huì)與原窗口共享內(nèi)存cookie 。瀏覽器對(duì)于會(huì)話cookie 的這種只認(rèn)cookie 不認(rèn)人的處理方式經(jīng)常給采用session 機(jī)制的web 應(yīng)用程序開發(fā)者造成很大的困擾。

[經(jīng)典的語錄]

下面就是一個(gè)goolge 設(shè)置cookie 的響應(yīng)頭的例子

HTTP/1.1 302 Found

Location: http://www.google.com/intl/zh-CN/

Set-Cookie:

PREF=ID=0565f77e132de138:NW=1:TM=1098082649:LM=1098082649:S=KaeaCFPo49RiA_d8; expires=Sun, 17-Jan-2038 19:14:07 GMT; path=/; domain=.google.com

Content-Type: text/html

到時(shí)候我們的域就要設(shè)置為domain=.*****.cn

path=/

session 機(jī)制是一種服務(wù)器端的機(jī)制,服務(wù)器使用一種類似于散列表的結(jié)構(gòu)(也可能就是使用散列表)來保存信息。

四、理解session 機(jī)制

session 機(jī)制是一種服務(wù)器端的機(jī)制,服務(wù)器使用一種類似于散列表的結(jié)構(gòu)(也可能就是使用散列表)來保存信息。

,

當(dāng)程序需要為某個(gè)客戶端的請(qǐng)求創(chuàng)建一個(gè)session 的時(shí)候,服務(wù)器首先檢查這個(gè)客戶端的請(qǐng)求里是否已包含了一個(gè)session 標(biāo)識(shí) - 稱為session id,如果已包含一個(gè)session id則說明以前已經(jīng)為此客戶端創(chuàng)建過session ,服務(wù)器就按照session id把這個(gè)session 檢索出來使用(如果檢索不到,可能會(huì)新建一個(gè)),如果客戶端請(qǐng)求不包含session id,則為此客戶端創(chuàng)建一個(gè)session 并且生成一個(gè)與此session 相關(guān)聯(lián)的session id,session id的值應(yīng)該是一個(gè)既不會(huì)重復(fù),又不容易被找到規(guī)律以仿造的字符串,這個(gè)session id將被在本次響應(yīng)中返回給客戶端保存。

保存這個(gè)session id 的方式可以采用cookie ,這樣在交互過程中瀏覽器可以自動(dòng)的按照規(guī)則把這個(gè)標(biāo)識(shí)發(fā)揮給服務(wù)器。一般這個(gè)cookie 的名字都是類似于 SEEESIONID,而。比如weblogic 對(duì)于web 應(yīng)用程序生成的 cookie,

J SESSION ID=ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zWpBng!-145788764,它的名字就是J SESSION ID 。

由于cookie 可以被人為的禁止,必須有其他機(jī)制以便在cookie 被禁止時(shí)仍然能夠把session id 傳遞回服務(wù)器。經(jīng)常被使用的一種技術(shù)叫做URL 重寫,就是把session id 直接附加在URL 路徑的后面,附加方式也有兩種,一種是作為URL 路徑的附加信息,表現(xiàn)形式為http://.....

/xxx;jsession id=ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zWpBng!-145788764 另一種是作為查詢字符串附加在URL 后面,表現(xiàn)形式為

這兩種方式對(duì)于用戶來說是沒有區(qū)別的,只是服務(wù)器在解析的時(shí)候處理的方式不同,采用第一種方式也有利于把session id的信息和正常程序參數(shù)區(qū)分開來。

為了在整個(gè)交互過程中始終保持狀態(tài),就必須在每個(gè)客戶端可能請(qǐng)求的路徑后面都包含這個(gè)session id。

另一種技術(shù)叫做表單隱藏字段。就是服務(wù)器會(huì)自動(dòng)修改表單,添加一個(gè)隱藏字段,以便在表單提交時(shí)能夠把session id傳遞回服務(wù)器。比如下面的表單

在被傳遞給客戶端之前將被改寫成

value="ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zWpBng!-145788764">

這種技術(shù)現(xiàn)在已較少應(yīng)用,筆者接觸過的很古老的iPlanet6(SunONE應(yīng)用服務(wù)器的前身) 就使用了這種技術(shù)。

實(shí)際上這種技術(shù)可以簡單的用對(duì)action 應(yīng)用URL 重寫來代替。

,

在談?wù)搒ession 機(jī)制的時(shí)候,常常聽到這樣一種誤解“只要關(guān)閉瀏覽器,session 就消失了”。其實(shí)可以想象一下會(huì)員卡的例子,除非顧客主動(dòng)對(duì)店家提出銷卡,否則店家絕對(duì)不會(huì)輕易刪除顧客的資料。對(duì)session 來說也是一樣的,除非程序通知服務(wù)器刪除一個(gè)session ,否則服務(wù)器會(huì)一直保留,程序一般都是在用戶做log off 的時(shí)候發(fā)個(gè)指令去刪除session 。然而瀏覽器從來不會(huì)主動(dòng)在關(guān)閉之前通知服務(wù)器它將要關(guān)閉,因此服務(wù)器根本不會(huì)有機(jī)會(huì)知道瀏覽器已經(jīng)關(guān)閉,之所以會(huì)有這種錯(cuò)覺,是大部分session 機(jī)制都使用會(huì)話cookie 來保存session id,而關(guān)閉瀏覽器后這個(gè)session id就消失了,再次連接服務(wù)器時(shí)也就無法找到原來的session 。如果服務(wù)器設(shè)置的cookie 被保存到硬盤上,或者使用某種手段改寫瀏覽器發(fā)出的 HTTP請(qǐng)求頭,把原來的session id發(fā)送給服務(wù)器,則再次打開瀏覽器仍然能夠找到原來的session 。

恰恰是由于關(guān)閉瀏覽器不會(huì)導(dǎo)致session 被刪除,迫使服務(wù)器為seesion 設(shè)置了一個(gè)失效時(shí)間,當(dāng)距離客戶端上一次使用session 的時(shí)間超過這個(gè)失效時(shí)間時(shí),服務(wù)器就可以認(rèn)為客戶端已經(jīng)停止了活動(dòng),才會(huì)把session 刪除以節(jié)省存儲(chǔ)空間。

[寫得太精彩了。感受太深了!]

1、session 在何時(shí)被創(chuàng)建

一個(gè)常見的誤解是以為session 在有客戶端訪問時(shí)就被創(chuàng)建,然而事實(shí)是直到某server 端程序調(diào)用 HttpServletRequest.getSession(true)這樣的語句時(shí)才被創(chuàng)建,注意如果JSP 沒有顯示的使用 <@page session="false"> 關(guān)閉session ,則JSP 文件在編譯成Servlet 時(shí)將會(huì)自動(dòng)加上這樣一條語句HttpSession session =

HttpServletRequest.getSession(true);這也是JSP 中隱含的session 對(duì)象的來歷。

由于session 會(huì)消耗內(nèi)存資源,因此,如果不打算使用session ,應(yīng)該在所有的JSP 中關(guān)閉它。

2、session 何時(shí)被刪除

綜合前面的討論,session 在下列情況下被刪除a. 程序調(diào)用HttpSession.invalidate();或b. 距離上一次收到客戶端發(fā)送的session id時(shí)間間隔超過了session 的超時(shí)設(shè)置; 或c. 服務(wù)器進(jìn)程被停止(非持久session )

3、如何做到在瀏覽器關(guān)閉時(shí)刪除session

嚴(yán)格的講,做不到這一點(diǎn)??梢宰鲆稽c(diǎn)努力的辦法是在所有的客戶端頁面里使用javascript 代碼window.oncolose 來監(jiān)視瀏覽器的關(guān)閉動(dòng)作,然后向服務(wù)器發(fā)送一個(gè)請(qǐng)求來刪除session 。但是對(duì)于瀏覽器崩潰或者強(qiáng)行殺死進(jìn)程這些非常規(guī)手段仍然無能為力。

7、開兩個(gè)瀏覽器窗口訪問應(yīng)用程序會(huì)使用同一個(gè)session 還是不同的session

參見第三小節(jié)對(duì)cookie 的討論,對(duì)session 來說是只認(rèn)id 不認(rèn)人,因此不同的瀏覽器,不同的窗口打開方式以及不同的cookie 存儲(chǔ)方式都會(huì)對(duì)這個(gè)問題的答案有影響。

8、如何防止用戶打開兩個(gè)瀏覽器窗口操作導(dǎo)致的session 混亂

這個(gè)問題與防止表單多次提交是類似的,可以通過設(shè)置客戶端的令牌來解決。就是在服務(wù)器每次生成一個(gè)不同的id 返回給客戶端,同時(shí)保存在session 里,客戶端提交表單時(shí)必須把

,

這個(gè)id 也返回服務(wù)器,程序首先比較返回的id 與保存在 session里的值是否一致,如果不一致則說明本次操作已經(jīng)被提交過了。[對(duì)不起你已經(jīng)投過票了!可以這樣來進(jìn)行控制的哦]

八、總結(jié)

session 機(jī)制本身并不復(fù)雜,然而其實(shí)現(xiàn)和配置上的靈活性卻使得具體情況復(fù)雜多變。這也要求我們不能把僅僅某一次的經(jīng)驗(yàn)或者某一個(gè)瀏覽器,服務(wù)器的經(jīng)驗(yàn)當(dāng)作普遍適用的經(jīng)驗(yàn),而是始終需要具體情況具體分析。

為什么登陸后, 只要不關(guān)閉瀏覽器,session 就能一直存在? 當(dāng)然session 的數(shù)據(jù)是保存在服務(wù)器上的, 但服務(wù)器是怎么識(shí)別這些數(shù)據(jù)都是誰的呢? 答案是sessionid, 每一個(gè)瀏覽者都唯一的sessionid, 這就很好的區(qū)分了不同瀏覽者的不同session 了.sessionid 是怎么產(chǎn)生的? 應(yīng)該是第一次訪問服務(wù)器的時(shí)候隨即生成的. 假如是111, 然后他的登陸信息是true, 服務(wù)器就知道sessionid 為111已經(jīng)登陸了, 這些信息都存在了服務(wù)器上了. 但當(dāng)瀏覽者繼續(xù)操作的時(shí)候, 也就是打開該系統(tǒng)的另一個(gè)頁面的時(shí)候sessionid 怎么辦? 如何傳遞? 打開另一個(gè)頁面的時(shí)候其實(shí)相當(dāng)于重新訪問系統(tǒng), 如果沒有特殊的處理機(jī)制, 系統(tǒng)會(huì)再次重新分配一個(gè)

sessionid 的, 這樣的話就失去意義了~!所以sessionid 在第一次訪問后應(yīng)該存在了客戶端. 能寸哪呢? 當(dāng)然, 只能寸在cookie 中了, 這就是為什么關(guān)閉cookie,session 就失去作用了

十三、保存session id的幾種方式

A .保存session id的方式可以采用cookie ,這樣在交互過程中瀏覽器可以自動(dòng)的按照規(guī)則把這個(gè)標(biāo)識(shí)發(fā)送給服務(wù)器。

B .由于cookie 可以被人為的禁止,必須有其它的機(jī)制以便在cookie 被禁止時(shí)仍然能夠把session id傳遞回服務(wù)器,經(jīng)常采用的一種技術(shù)叫做URL 重寫,就是把session id附加在URL 路徑的后面,附加的方式也有兩種,一種是作為URL 路徑的附加信息,另一種是作為查詢字符串附加在URL 后面。網(wǎng)絡(luò)在整個(gè)交互過程中始終保持狀態(tài),就必須在每個(gè)客戶端可能請(qǐng)求的路徑后面都包含這個(gè)session id。

C .另一種技術(shù)叫做表單隱藏字段。就是服務(wù)器會(huì)自動(dòng)修改表單,添加一個(gè)隱藏字段,以便在表單提交時(shí)能夠把session id傳遞回服務(wù)器。

二十五、session cookie和session 對(duì)象的生命周期是一樣的嗎

當(dāng)用戶關(guān)閉了瀏覽器雖然session cookie已經(jīng)消失,但session 對(duì)象仍然保存在服務(wù)器端

二十六、是否只要關(guān)閉瀏覽器,session 就消失了

,

程序一般都是在用戶做log off 的時(shí)候發(fā)個(gè)指令去刪除session ,然而瀏覽器從來不會(huì)主動(dòng)在關(guān)閉之前通知服務(wù)器它將要被關(guān)閉,因此服務(wù)器根本不會(huì)有機(jī)會(huì)知道瀏覽器已經(jīng)關(guān)閉。服務(wù)器會(huì)一直保留這個(gè)會(huì)話對(duì)象直到它處于非活動(dòng)狀態(tài)超過設(shè)定的間隔為止。

之所以會(huì)有這種錯(cuò)誤的認(rèn)識(shí),是因?yàn)榇蟛糠謘ession 機(jī)制都使用會(huì)話cookie 來保存session id ,而關(guān)閉瀏覽器后這個(gè)session id就消失了,再次連接到服務(wù)器時(shí)也就無法找到原來的session 。

如果服務(wù)器設(shè)置的cookie 被保存到硬盤上,或者使用某種手段改寫瀏覽器發(fā)出的HTTP 請(qǐng)求報(bào)頭,把原來的session id 發(fā)送到服務(wù)器,則再次打開瀏覽器仍然能夠找到原來的session 。 恰恰是由于關(guān)閉瀏覽器不會(huì)導(dǎo)致session 被刪除,迫使服務(wù)器為session 設(shè)置了一個(gè)失效時(shí)間,當(dāng)距離客戶上一次使用session 的時(shí)間超過了這個(gè)失效時(shí)間時(shí),服務(wù)器就可以認(rèn)為客戶端已經(jīng)停止了活動(dòng),才會(huì)把session 刪除以節(jié)省存儲(chǔ)空間。

由此我們可以得出如下結(jié)論:

關(guān)閉瀏覽器,只會(huì)是瀏覽器端內(nèi)存里的session cookie消失,但不會(huì)使保存在服務(wù)器端的session 對(duì)象消失,同樣也不會(huì)使已經(jīng)保存到硬盤上的持久化cookie 消失。

二十七、打開兩個(gè)瀏覽器窗口訪問應(yīng)用程序會(huì)使用同一個(gè)session 還是不同的session

通常session cookie是不能跨窗口使用的,當(dāng)你新開了一個(gè)瀏覽器窗口進(jìn)入相同頁面時(shí),系統(tǒng)會(huì)賦予你一個(gè)新的session id,這樣我們信息共享的目的就達(dá)不到了。

此時(shí)我們可以先把session id 保存在persistent cookie 中(通過設(shè)置session 的最大有效時(shí)間) ,然后在新窗口中讀出來,就可以得到上一個(gè)窗口的session id 了,這樣通過session cookie 和persistent cookie的結(jié)合我們就可以實(shí)現(xiàn)了跨窗口的會(huì)話跟蹤。

2.cookies 的屬性有:Domain(域) :哪個(gè)站點(diǎn)發(fā)的哪個(gè)站點(diǎn)拿走

Expires:是否過期

Haskeys:是否包含關(guān)鍵

path:存放的路徑

secure:是否安全

注:---cookies 的設(shè)置在 sever端設(shè)置,路徑與域一起構(gòu)成cookie 的作用范圍

? 這個(gè)是什么意思的???為什么會(huì)是在服務(wù)器端進(jìn)行設(shè)置的呢?

---若不設(shè)置過期時(shí)間,則表示這個(gè)cookie 的生命期為瀏覽器會(huì)話期間,關(guān)閉瀏覽器窗口,cookie 就消失。這種生命期為瀏覽器會(huì)話期的cookie 被稱為會(huì)話cookie 。會(huì)話cookie 一般不存儲(chǔ)在硬盤上而是保存在內(nèi)存里,當(dāng)然這種行為并不是規(guī)范規(guī)定的。若設(shè)置了過期時(shí)間,瀏覽器就會(huì)把cookie 保存到硬盤上,關(guān)閉后再次打開瀏覽器,這些cookie 仍然有效

標(biāo)簽: