cookie與session的區(qū)別

大家好,我是IT修真院北京分院第二十六期的學(xué)員李寧虎减俏,一枚正直純潔善良的JAVA程序員 今天給大家分享一下,什么是cookie碱工,什么是session娃承,分別用作什么場景

一、背景介紹

為什么要使用cookie和session? 很多時候客戶端和服務(wù)器進行交互使用了HTTP協(xié)議怕篷,但是HTTP協(xié)議是無狀態(tài)的历筝;HTTP協(xié)議的請求過程,是基于 TCP/IP 的廊谓,當客戶端請求服務(wù)器梳猪,服務(wù)器處理后,進行響應(yīng)蒸痹,該過程是無狀態(tài)的春弥。

但是在有些時候是需要保存一些客戶端的請求信息呛哟,識別客戶端的某些狀態(tài),智能的匿沛、有針對性的去分析某些客戶端的習(xí)慣扫责。這些時候,就需要去記錄客戶端的連接狀態(tài)逃呼,識別請求的狀態(tài)等公给。所以為了解決類似的事情,就需要使用到了 Cookie 和 Session蜘渣。

比如,使用Cookie的場景:有些網(wǎng)站有記住用戶名的功能肺然,當你勾這個的時候蔫缸,下次進入該網(wǎng)站時,就會保存上一次登錄的用戶名际起;使用Seesion的場景:利用Seesion來驗證用戶是否已登錄拾碌,利用Session來保存驗證碼。

二街望、知識剖析

Cookie:在客戶端訪問某個地址時校翔,會將請求交到服務(wù)器進行處理,在發(fā)送請求的時候灾前,瀏覽器會將頁面的頭部信息一并的交到服務(wù)器端進行處理防症。在處理的過程中,Cookie 在服務(wù)器端生成 哎甲,在此同時蔫敲,可以將一些需要保存的信息,存放到此 Cookie 中炭玫。生成 Cookie 對象時奈嘿,需要確定具體的名稱及具體的值,可以設(shè)置當前 Cookie 的過期時間吞加,設(shè)置過期時間后裙犹,就相當于持久化了 Cookie 中的數(shù)據(jù),此時的 Cookie 會以之前的 Cookie 名稱衔憨,保存在客戶端叶圃。

如果不設(shè)置過期時間,則當前 Cookie 的生命期是瀏覽器會話期間巫财,一旦關(guān)閉了該瀏覽器盗似,當前的Cookie 就會不存在了,此時的 Cookie 信息是保存在內(nèi)存中平项。在服務(wù)器端赫舒,處理完后悍及,會將生成的 Cookie ,隨著 Http 響應(yīng)接癌,會在 Http 響應(yīng)頭中心赶,加上Cookie 信息,瀏覽器接受到響應(yīng)后缺猛,會按照 Http 響應(yīng)頭里的 Cookie 缨叫,在客戶端建立 Cookie 。在下次客戶進行請求的時候荔燎,Http 會附帶著已經(jīng)存儲過的 Cookie耻姥,一并發(fā)送到服務(wù)器。一個域有咨,在客戶端建立的所以 Cookie 都是可以共享的琐簇,只要 Cookie 沒有過期。

Session:Session 是在服務(wù)器端生成的座享,存儲在服務(wù)器端婉商,即存在內(nèi)存中≡眩可以對生成的 Session 設(shè)置過期時間丈秩,如果不設(shè)置過期時間,默認的 Session 過期時間是30 分鐘(在不同的服務(wù)器中淳衙,它的過期時間略有不同蘑秽,本文是以 Tomcat 來說的) 但是,Sesssion 的生成的同時箫攀,會生成一個與之相關(guān)聯(lián)的的 SessionID 筷狼,此 SessionID的存儲是需要 Cookie 來完成的。 SessionID 是以名稱為 JSESSIONID匠童,其值應(yīng)該是一個既不會重復(fù)埂材,又不容易被找到規(guī)律以仿造的字符串。SessionID會隨著此次 Http 響應(yīng)汤求,一并返回到客戶端俏险,并保存在客戶端中。到當前請求再次發(fā)出后扬绪,該 SessionID會隨著 Http 頭部竖独,傳到服務(wù)器中,服務(wù)器依據(jù)當前 SessionID 得到與之對應(yīng)的 Session.

三挤牛、常見問題

有的網(wǎng)站禁用cookie之后莹痢,session不能用。

四、解決方案

如果客戶端禁用了 Cookie 的話竞膳,很多網(wǎng)站任然可以存儲用戶的信息航瞭。一種處理的方式是URL 重寫,將 SesseionID 直接附加在請求地址的后面坦辟。另一種處理的方式是刊侯,使用隱藏自動的方式。就是服務(wù)器自動的在表單中锉走,添加一個隱藏字段滨彻,以便在表單提交時,將 SesseionID 一起傳到服務(wù)器挪蹭,進行識別亭饵。

五、編碼實戰(zhàn)

視頻

PPT

六梁厉、拓展思考

session與cookie的區(qū)別冬骚,與使用場景

1、cookie數(shù)據(jù)存放在客戶的瀏覽器上懂算,session數(shù)據(jù)放在服務(wù)器上。

2庇麦、cookie不是很安全计技,別人可以分析存放在本地的cookie并進行cookie欺騙,考慮到安全應(yīng)當使用session山橄。

3垮媒、session會在一定時間內(nèi)保存在服務(wù)器上。當訪問增多航棱,會比較占用你服務(wù)器的性能睡雇,考慮到減輕服務(wù)器性能方面,應(yīng)當使用cookie饮醇。

4它抱、單個cookie保存的數(shù)據(jù)不能超過4K,很多瀏覽器都限制一個站點最多保存20個cookie朴艰。

5观蓄、可以考慮將登陸信息等重要信息存放為session,其他信息如果需要保留祠墅,可以放在cookie中侮穿。

--------------------------------------------------------------------------------------------------------------------

“我們相信人人都可以成為一個工程師,現(xiàn)在開始毁嗦,找個師兄亲茅,帶你入門,掌控自己學(xué)習(xí)的節(jié)奏,學(xué)習(xí)的路上不再迷每寺啵”茵肃。

這里是技能樹.IT修真院,成千上萬的師兄在這里找到了自己的學(xué)習(xí)路線娶耍,學(xué)習(xí)透明化免姿,成長可見化,師兄1對1免費指導(dǎo)榕酒∨卟玻快來與我一起學(xué)習(xí)吧 !

師兄帶你入門想鹰!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末紊婉,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子辑舷,更是在濱河造成了極大的恐慌喻犁,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件何缓,死亡現(xiàn)場離奇詭異肢础,居然都是意外死亡,警方通過查閱死者的電腦和手機碌廓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門传轰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人谷婆,你說我怎么就攤上這事慨蛙。” “怎么了纪挎?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵期贫,是天一觀的道長。 經(jīng)常有香客問我异袄,道長通砍,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任烤蜕,我火速辦了婚禮埠帕,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘玖绿。我一直安慰自己敛瓷,他們只是感情好,可當我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布斑匪。 她就那樣靜靜地躺著呐籽,像睡著了一般锋勺。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上狡蝶,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天庶橱,我揣著相機與錄音,去河邊找鬼贪惹。 笑死苏章,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的奏瞬。 我是一名探鬼主播枫绅,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼硼端!你這毒婦竟也來了并淋?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤珍昨,失蹤者是張志新(化名)和其女友劉穎县耽,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體镣典,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡兔毙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了兄春。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片澎剥。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖神郊,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情趾唱,我是刑警寧澤涌乳,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站甜癞,受9級特大地震影響夕晓,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜悠咱,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一蒸辆、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧析既,春花似錦躬贡、人聲如沸二汛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽取募。三九已至,卻和暖如春檐蚜,著一層夾襖步出監(jiān)牢的瞬間魄懂,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工闯第, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留市栗,地道東北人。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓咳短,卻偏偏與公主長得像填帽,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子诲泌,可洞房花燭夜當晚...
    茶點故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內(nèi)容