cookie和session辨析

一、cookie是什么

cookie就是服務(wù)器發(fā)給客戶端的信息,這些信息以文本文件的方式儲存在諸如瀏覽器等的客戶端里蚀浆。然后,如果客戶端再向相同域名的服務(wù)端發(fā)送請求的時候搜吧,就會帶上這些信息市俊。從服務(wù)端發(fā)送過來的cookie會出現(xiàn)在http的響應(yīng)頭中(response header),而當(dāng)客戶端再次向相同域名發(fā)送http請求的時候滤奈,cookie會出現(xiàn)在請求頭中摆昧。

cookie經(jīng)常用來存放用戶的身份、密碼等信息蜒程,最常見的cookie使用場景就是:在登陸界面绅你,有一個“是否記住我”的選項,當(dāng)勾選以后每戶發(fā)送請求都會帶上cookie來驗證用戶身份昭躺,這樣用戶就避免了重復(fù)輸入用戶名和密碼了忌锯。

對于設(shè)置cookie,不同的語言有不同的方法领炫,甚至還有一些專門的插件偶垮。當(dāng)在一個域名下設(shè)置了cookie,之后針對這個域名和路徑下所有的請求都會帶上cookie。

關(guān)于cookie的過期時間:cookie的過期時間在與cookie的值一同設(shè)定的似舵,它指定了cookie什么時候不再被發(fā)送至服務(wù)器脚猾,而后瀏覽器/服務(wù)端會刪除該cookie。如果不設(shè)置的話砚哗,那么cookie只存在于當(dāng)前會話當(dāng)中龙助,瀏覽器一旦關(guān)閉,該cookie就會被刪除蛛芥。P.S 但是chrome做了優(yōu)化泌参,在你關(guān)閉以后一點時間它依然不會失效。

關(guān)于cookie的域名和路徑:域名(domain)選項決定了cookie被發(fā)送到哪個域名下常空,默認(rèn)情況下是與創(chuàng)建cookie相同的域名沽一;路徑(path)的作用與域名選項相同,也是指定了特定的路徑漓糙,才會在請求頭中附加cookie信息铣缠。

登陸界面是否記住我的邏輯:當(dāng)用戶輸入完用戶名和密碼以后,并且還勾選記住我的情況下昆禽,這些信息發(fā)送到服務(wù)端蝗蛙,在服務(wù)端完成用戶驗證以后,服務(wù)端會在setCookie里做一個不用重復(fù)輸入密碼的標(biāo)記醉鳖,然后發(fā)送給客戶端捡硅,用戶下次再登陸的時候,在這個域名和路徑下盗棵,這些cookie會再次發(fā)送到服務(wù)端壮韭,服務(wù)端從cookie里讀取了之前的標(biāo)記,就不會讓用戶再次輸入用戶名和密碼纹因,而是直接跳轉(zhuǎn)了喷屋。當(dāng)然,這個cookie的標(biāo)記是有時間限制的瞭恰,一旦超過了屯曹,這個標(biāo)記就會被瀏覽器刪除。

總結(jié):一般cookie交互過程如下:
1惊畏、客戶端發(fā)送一個http請求給服務(wù)端
2恶耽、服務(wù)端發(fā)送一個http響應(yīng)給客戶端,在響應(yīng)頭中內(nèi)嵌了cookie
3颜启、在相同域名和相同路徑下偷俭,客戶端發(fā)送一個請求到服務(wù)端,在請求頭中帶上了cookie
4农曲、服務(wù)端發(fā)回一個http響應(yīng)給客戶端

二社搅、session是什么驻债?

session的主要用處和cookie一樣乳规,都是用來記錄用戶的身份信息形葬。不同的地方在于,cookie是儲存在客戶端暮的,而session是儲存在服務(wù)端笙以。

因為cookie是儲存在客戶端,這就引發(fā)了一個安全問題:所有儲存在客戶端的東西都可以通過某種方式進行人為修改冻辩。而session則解決了這一問題猖腕,因為它儲存在服務(wù)器上。

session的使用邏輯:服務(wù)器先給每一個發(fā)送過來http請求的瀏覽器一個id恨闪,當(dāng)然倘感,這個id是加密過的;這個id會儲存在瀏覽器的cookie中咙咽,所以以后瀏覽器發(fā)送請求的時候都會帶上這個cookie中的id老玛。與此同時,服務(wù)器給每個用戶給了一個session钧敞,當(dāng)服務(wù)器驗證通過了用戶的身份信息蜡豹,就會用session[id]在session中做一個標(biāo)記,這樣下次用戶再在相同域名/路徑請求時溉苛,服務(wù)器在讀取到id并在session中找到了標(biāo)記的話镜廉,用戶就不用再次輸入用戶名和密碼了。

三愚战、Cookie and Session區(qū)別

1娇唯、cookie數(shù)據(jù)存放在客戶的瀏覽器上,session數(shù)據(jù)放在服務(wù)器上寂玲;
2视乐、cookie不是很安全,別人可以分析存放在本地的cookie并進行cookie欺騙敢茁,考慮到安全應(yīng)當(dāng)使用session佑淀;
3、session會在一定時間內(nèi)保存在服務(wù)器上彰檬。當(dāng)訪問增多伸刃,會比較占用你服務(wù)器的性能》瓯叮考慮到減輕服務(wù)器性能方面捧颅,應(yīng)當(dāng)使用cookie;
4较雕、單個cookie在客戶端的限制是4K碉哑,就是說一個站點在客戶端存放的cookie不能超過4K

知乎上馮羅特的回答:

1挚币,session 在服務(wù)器端,cookie 在客戶端(瀏覽器)
2扣典,session 默認(rèn)被存在在服務(wù)器的一個文件里(不是內(nèi)存)
3妆毕,session 的運行依賴 session id,而 session id 是存在 cookie 中的贮尖,也就是說笛粘,如果瀏覽器禁用了 cookie ,同時 session 也會失效(但是可以通過其它方式實現(xiàn)湿硝,比如在 url 中傳遞 session_id)
4薪前,session 可以放在 文件、數(shù)據(jù)庫关斜、或內(nèi)存中都可以示括。
5,用戶驗證這種場合一般會用 session 因此痢畜,維持一個會話的核心就是客戶端的唯一標(biāo)識垛膝,即 session id

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市裁着,隨后出現(xiàn)的幾起案子繁涂,更是在濱河造成了極大的恐慌,老刑警劉巖二驰,帶你破解...
    沈念sama閱讀 216,997評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件扔罪,死亡現(xiàn)場離奇詭異,居然都是意外死亡桶雀,警方通過查閱死者的電腦和手機矿酵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來矗积,“玉大人全肮,你說我怎么就攤上這事〖罚” “怎么了辜腺?”我有些...
    開封第一講書人閱讀 163,359評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長乍恐。 經(jīng)常有香客問我评疗,道長,這世上最難降的妖魔是什么茵烈? 我笑而不...
    開封第一講書人閱讀 58,309評論 1 292
  • 正文 為了忘掉前任百匆,我火速辦了婚禮,結(jié)果婚禮上呜投,老公的妹妹穿的比我還像新娘加匈。我一直安慰自己存璃,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,346評論 6 390
  • 文/花漫 我一把揭開白布雕拼。 她就那樣靜靜地躺著纵东,像睡著了一般。 火紅的嫁衣襯著肌膚如雪悲没。 梳的紋絲不亂的頭發(fā)上篮迎,一...
    開封第一講書人閱讀 51,258評論 1 300
  • 那天男图,我揣著相機與錄音示姿,去河邊找鬼。 笑死逊笆,一個胖子當(dāng)著我的面吹牛栈戳,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播难裆,決...
    沈念sama閱讀 40,122評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼子檀,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了乃戈?” 一聲冷哼從身側(cè)響起褂痰,我...
    開封第一講書人閱讀 38,970評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎症虑,沒想到半個月后缩歪,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,403評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡谍憔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,596評論 3 334
  • 正文 我和宋清朗相戀三年匪蝙,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片习贫。...
    茶點故事閱讀 39,769評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡逛球,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出苫昌,到底是詐尸還是另有隱情颤绕,我是刑警寧澤,帶...
    沈念sama閱讀 35,464評論 5 344
  • 正文 年R本政府宣布祟身,位于F島的核電站奥务,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏月而。R本人自食惡果不足惜汗洒,卻給世界環(huán)境...
    茶點故事閱讀 41,075評論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望父款。 院中可真熱鬧溢谤,春花似錦瞻凤、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至瞻坝,卻和暖如春蛛壳,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背所刀。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評論 1 269
  • 我被黑心中介騙來泰國打工衙荐, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人浮创。 一個月前我還...
    沈念sama閱讀 47,831評論 2 370
  • 正文 我出身青樓忧吟,卻偏偏與公主長得像,于是被迫代替她去往敵國和親斩披。 傳聞我的和親對象是個殘疾皇子溜族,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,678評論 2 354

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)垦沉,斷路器煌抒,智...
    卡卡羅2017閱讀 134,654評論 18 139
  • http協(xié)議有http0.9,http1.0厕倍,http1.1和http2三個版本寡壮,但是現(xiàn)在瀏覽器使用的是htt...
    一現(xiàn)_閱讀 1,863評論 0 3
  • 作者:晚晴幽草軒www.jeffjade.com/2016/10/31/115-summary-of-cookie...
    饑人谷_Dylan閱讀 1,224評論 0 51
  • 2016年是參加向組織揩油的第二年,從2015年的懵懂到2016年的略微有眉目绑青,掉了不少坑诬像,當(dāng)然,這些都會成為17...
    Andy熙閱讀 240評論 2 2
  • 有人說闸婴,請磨去棱角坏挠,學(xué)會圓潤,盡量合群邪乍!收斂個性降狠,避免乖張! 那么庇楞,請問榜配,如果所有人在步入社會中都這樣去做,那是不...
    冽殤閱讀 204評論 0 0