這篇文章給大家分享的是有關(guān)Java Web之Cookie和Session的示例分析的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
創(chuàng)新互聯(lián)是一家網(wǎng)站設(shè)計(jì)公司,集創(chuàng)意、互聯(lián)網(wǎng)應(yīng)用、軟件技術(shù)為一體的創(chuàng)意網(wǎng)站建設(shè)服務(wù)商,主營(yíng)產(chǎn)品:響應(yīng)式網(wǎng)站設(shè)計(jì)、成都品牌網(wǎng)站建設(shè)、全網(wǎng)整合營(yíng)銷(xiāo)推廣。我們專(zhuān)注企業(yè)品牌在網(wǎng)站中的整體樹(shù)立,網(wǎng)絡(luò)互動(dòng)的體驗(yàn),以及在手機(jī)等移動(dòng)端的優(yōu)質(zhì)呈現(xiàn)。成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)、移動(dòng)互聯(lián)產(chǎn)品、網(wǎng)絡(luò)運(yùn)營(yíng)、VI設(shè)計(jì)、云產(chǎn)品.運(yùn)維為核心業(yè)務(wù)。為用戶提供一站式解決方案,我們深知市場(chǎng)的競(jìng)爭(zhēng)激烈,認(rèn)真對(duì)待每位客戶,為客戶提供賞析悅目的作品,網(wǎng)站的價(jià)值服務(wù)。cookie機(jī)制和session機(jī)制的區(qū)別
具體來(lái)說(shuō)cookie機(jī)制采用的是在客戶端保持狀態(tài)的方案,而session機(jī)制采用的是在服務(wù)器端保持狀態(tài)的方案。
同時(shí)我們也看到,由于才服務(wù)器端保持狀態(tài)的方案在客戶端也需要保存一個(gè)標(biāo)識(shí),所以session
機(jī)制可能需要借助于cookie機(jī)制來(lái)達(dá)到保存標(biāo)識(shí)的目的,但實(shí)際上還有其他選擇
會(huì)話cookie和持久cookie的區(qū)別
如果不設(shè)置過(guò)期時(shí)間,則表示這個(gè)cookie生命周期為瀏覽器會(huì)話期間,只要關(guān)閉瀏覽器窗口,cookie就消失了。這種生命期為瀏覽會(huì)話期的cookie被稱(chēng)為會(huì)話cookie。會(huì)話cookie一般不保存在硬盤(pán)上而是保存在內(nèi)存里。
如果設(shè)置了過(guò)期時(shí)間,瀏覽器就會(huì)把cookie保存到硬盤(pán)上,關(guān)閉后再次打開(kāi)瀏覽器,這些cookie依然有效直到超過(guò)設(shè)定的過(guò)期時(shí)間。
存儲(chǔ)在硬盤(pán)上的cookie可以在不同的瀏覽器進(jìn)程間共享,比如兩個(gè)IE窗口。而對(duì)于保存在內(nèi)存的cookie,不同的瀏覽器有不同的處理方式。
日常現(xiàn)象
登錄了某個(gè)網(wǎng)站,過(guò)一會(huì)兒再登錄,誒,不用輸入密碼了,直接是登錄狀態(tài)了,好神奇~~~
在某網(wǎng)站看了一部手機(jī),接下來(lái)瀏覽其他網(wǎng)站,旁邊的廣告全是手機(jī)和類(lèi)似信息,好恐怖~~~
瀏覽某網(wǎng)站時(shí),提示我是第66666位訪問(wèn)的客戶,真的假的?
其實(shí)這些都是Cookie和Session在后面作祟,下面就帶大家學(xué)習(xí)學(xué)習(xí)這兩個(gè)東東。
Cookie和Session的異同
Cookie與Session都是用來(lái)保存用戶狀態(tài)信息的一種方法或者手段;
Cookie是保存在客戶端的臨時(shí)文件夾, Session是保存在服務(wù)器的內(nèi)存中的,服務(wù)器使用一種類(lèi)似于散列表的結(jié)構(gòu)來(lái)保存信息,一個(gè)Session域?qū)ο鬄橐粋€(gè)客戶瀏覽器服務(wù);
Cookie安全性較差,Session安全性較高;
Cookie的保存時(shí)間可以很久(以txt格式保存在客戶端硬盤(pán)),Session保存的時(shí)間很短,一般是30分鐘;
Cookie為多個(gè)客戶瀏覽器共享,Session為一個(gè)客戶瀏覽器獨(dú)享;
Session是通過(guò)Cookie的機(jī)制來(lái)實(shí)現(xiàn)的。
兩個(gè)經(jīng)典問(wèn)題與URL重寫(xiě)
1、客戶端禁用Cookie,問(wèn)Session還能工作嗎?
不能(事實(shí))絕大多數(shù)的網(wǎng)站是這樣,原因是沒(méi)有使用URL重寫(xiě)機(jī)制來(lái)解決Cookie被禁用的問(wèn)題。(URL重寫(xiě)代碼量大而且只能應(yīng)用在動(dòng)態(tài)的頁(yè)面靜態(tài)的不行)
能(事實(shí))微乎其微的網(wǎng)站可以(比如:卓越),原因是它使用了URL重寫(xiě)機(jī)制。
2、 Cookie可以用來(lái)實(shí)現(xiàn)購(gòu)物車(chē)功能嗎?
能,Session能做的Cookie也能做。
** 本質(zhì) **
無(wú)論Cookie,還是URL重寫(xiě),目的都是向服務(wù)器傳遞JSESSIONID=32位字符串的key和value名值對(duì)。
理解Cookie-Session機(jī)制
當(dāng)程序需要為某個(gè)客戶端的請(qǐng)求創(chuàng)建一個(gè)Session的時(shí)候,服務(wù)器首先檢查這個(gè)客戶端的請(qǐng)求里是否已包含了一個(gè)Session標(biāo)識(shí)——稱(chēng)為 Session id,如果已包含一個(gè)Session id則說(shuō)明以前已經(jīng)為此客戶端創(chuàng)建過(guò)Session,服務(wù)器就按照Session id把這個(gè) Session檢索出來(lái)使用。如果客戶端請(qǐng)求不包含Session id,則為此客戶端創(chuàng)建一個(gè)Session并且生成一個(gè)與此Session相關(guān)聯(lián)的Session id,這個(gè) Session id將在本次響應(yīng)中返回給客戶端保存。客戶端保存這個(gè)Session id的方式可以采用Cookie,這樣在交互過(guò)程中瀏覽器可以自動(dòng)的按照規(guī)則把這個(gè)標(biāo)識(shí)發(fā)回給服務(wù)器。一般這個(gè)Cookie的名字都是類(lèi)似于JSESSIONID。對(duì)Session來(lái)說(shuō),除非應(yīng)用程序通知服務(wù)器刪除一個(gè)Session,否則服務(wù)器會(huì)一直保留它。瀏覽器從來(lái)不會(huì)主動(dòng)在關(guān)閉之前通知服務(wù)器它將要關(guān)閉,因此服務(wù)器不會(huì)知道瀏覽器已經(jīng)關(guān)閉。之所以會(huì)有這種錯(cuò)覺(jué),是大部分Session機(jī)制都使用會(huì)話Cookie來(lái)保存Session id,而關(guān)閉瀏覽器后這個(gè) Session id就消失了,再次連接服務(wù)器時(shí)也就無(wú)法找到原來(lái)的Session。如果服務(wù)器設(shè)置的Cookie被保存到硬盤(pán)上,或者使用某種手段改寫(xiě)瀏覽器發(fā)出的HTTP請(qǐng)求頭,把原來(lái)的Session id發(fā)送給服務(wù)器,則再次打開(kāi)瀏覽器仍然能夠找到原來(lái)的Session。也就實(shí)說(shuō)關(guān)閉瀏覽器不會(huì)導(dǎo)致服務(wù)器端Session被刪除,但是大量的Session一直在也服務(wù)器內(nèi)存,服務(wù)器也受不了,所以服務(wù)器為Session設(shè)置了一個(gè)失效時(shí)間,當(dāng)距離客戶端上一次使用Session的時(shí)間超過(guò)這個(gè)失效時(shí)間(一般為30分鐘)時(shí),服務(wù)器就可以認(rèn)為客戶端已經(jīng)停止了活動(dòng),才會(huì)把Session刪除以節(jié)省服務(wù)器端的存儲(chǔ)空間。
感謝各位的閱讀!關(guān)于“Java Web之Cookie和Session的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
標(biāo)題名稱(chēng):JavaWeb之Cookie和Session的示例分析-創(chuàng)新互聯(lián)
當(dāng)前URL:http://aaarwkj.com/article16/gdjgg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、網(wǎng)站維護(hù)、App開(kāi)發(fā)、域名注冊(cè)、自適應(yīng)網(wǎng)站、品牌網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容