javascript深入理解系列之——(十四)cookie,session理解

cookie和session的由來:

cookie

1.cookie企垦,因?yàn)閔ttp是無狀態(tài)協(xié)議,意思是說當(dāng)你瀏覽一個(gè)頁面晒来,然后轉(zhuǎn)到同一個(gè)網(wǎng)站的另一個(gè)頁面钞诡,服務(wù)器是無法認(rèn)識(shí)到的,每一次的訪問都是沒有任何關(guān)系的湃崩。這就容易引起混亂荧降,比如上一次我登陸了,下一次訪問攒读,又讓我登錄朵诫,很煩。
2.cookie的想法是薄扁,當(dāng)訪問一個(gè)頁面的時(shí)候剪返,服務(wù)器在http報(bào)文中,命令瀏覽器存儲(chǔ)一個(gè)字符串邓梅;瀏覽器在訪問同一個(gè)域的時(shí)候脱盲,會(huì)把這個(gè)字符串?dāng)y帶在http請(qǐng)求中;

第一次訪問一個(gè)服務(wù)器日缨,不可能攜帶cookie钱反。必須是服務(wù)器得到這次請(qǐng)求,在下行響應(yīng)報(bào)頭中,攜帶cookie信息面哥,此后每一次瀏覽器往這個(gè)服務(wù)器發(fā)出的請(qǐng)求哎壳,都會(huì)攜帶這個(gè)cookie。

特點(diǎn)
● cookie是不加密的尚卫,用戶可以自由看到归榕;

session

1.session依賴cookie,當(dāng)一個(gè)瀏覽器禁用cookie的時(shí)候,登錄效果消失鞠值; 或者用戶清除了cookie,登陸也消失。
session比cookie不一樣在哪里呢锹杈? session下發(fā)的是亂碼,并且服務(wù)器自己緩存一些東西撕瞧,下次瀏覽器的請(qǐng)求帶著亂碼上來尤蛮,此時(shí)與緩存進(jìn)行比較,看看是誰风科。
所以撒轮,一個(gè)亂碼,可以對(duì)應(yīng)無限大的數(shù)據(jù)贼穆。
任何語言中题山,session的使用,是“機(jī)理透明”的故痊。他是幫你設(shè)置cookie的顶瞳,但是足夠方便,讓你感覺不到這事兒和cookie有關(guān)愕秫。

session是什么
session 是一種標(biāo)識(shí)對(duì)話的技術(shù)說法慨菱。通過 session ,我們能快速識(shí)別用戶的信息戴甩,針對(duì)用戶提供不一樣的信息符喝。
session 的技術(shù)實(shí)現(xiàn)上:會(huì)對(duì)一次對(duì)話產(chǎn)生一個(gè)唯一的標(biāo)識(shí)進(jìn)行標(biāo)識(shí)。

session 生命周期
session 標(biāo)識(shí)產(chǎn)生的時(shí)機(jī)和清除時(shí)機(jī):

session 特點(diǎn)
每次對(duì)話甜孤, session 的 id 是不一樣的协饲。

session id 需要每次請(qǐng)求都由客戶端帶過來,用來標(biāo)識(shí)本次會(huì)話缴川。這樣就要求客戶端有能用保存的 sesssionId茉稠。

從 session 開始到清除,我們叫一次會(huì)話二跋,也就是生成 session战惊。

session 技術(shù)方案
當(dāng)前業(yè)界通用的方案是:cookie 。當(dāng)然還有無 cookie 的方案,對(duì)每個(gè)鏈接都加上 sessionId 參數(shù)吞获。

session 使用流程
用戶登錄后况凉,將 sessionId 存到 cookie 中。
用戶在請(qǐng)求的網(wǎng)站別的服務(wù)時(shí)各拷,由瀏覽器請(qǐng)求帶上 cookie刁绒,發(fā)送到服務(wù)器。
服務(wù)器拿到 sessionId 后烤黍,通過該 Id 找到保存到在服務(wù)器的用戶信息知市。
然后再跟據(jù)用戶信息,進(jìn)行相應(yīng)的處理速蕊。

瀏覽器的緩存機(jī)制提供了可以將用戶數(shù)據(jù)存儲(chǔ)在客戶端上的方式嫂丙,可以利用cookie,session和服務(wù)端進(jìn)行數(shù)據(jù)交互

session和cookie的區(qū)別

cookie session
保持狀態(tài) 保存在瀏覽器 保存在服務(wù)器端
使用方式 當(dāng)用戶在某個(gè)網(wǎng)站注冊(cè)后规哲,就會(huì)收到一個(gè)惟一用戶ID的cookie跟啤。客戶后來重新連接時(shí)唉锌,這個(gè)用戶ID會(huì)自動(dòng)返回隅肥,服務(wù)器對(duì)它進(jìn)行檢查,確定它是否為注冊(cè)用戶且選擇了自動(dòng)登錄袄简,從而使用戶無需給出明確的用戶名和密碼腥放,就可以訪問服務(wù)器上的資源。 a.當(dāng)服務(wù)器收到請(qǐng)求需要?jiǎng)?chuàng)建session對(duì)象時(shí)绿语,首先會(huì)檢查客戶端請(qǐng)求中是否包含sessionid秃症。b.如果有sessionid,服務(wù)器將根據(jù)該id返回對(duì)應(yīng)session對(duì)象汞舱。如果客戶端請(qǐng)求中沒有sessionid伍纫,服務(wù)器會(huì)創(chuàng)建新的session對(duì)象,并把sessionid在本次響應(yīng)中返回給客戶端昂芜。c.通常使用cookie方式存儲(chǔ)sessionid到客戶端莹规,在交互中瀏覽器按照規(guī)則將sessionid發(fā)送給服務(wù)器。如果用戶禁用cookie泌神,則要使用URL重寫良漱,可以通過response.encodeURL(url) 進(jìn)行實(shí)現(xiàn);
生命周期 a.如果不在瀏覽器中設(shè)置過期時(shí)間欢际,cookie被保存在內(nèi)存中母市,生命周期隨瀏覽器的關(guān)閉而結(jié)束,這種cookie簡稱會(huì)話cookie损趋。b.如果在瀏覽器中設(shè)置了cookie的過期時(shí)間患久,cookie被保存在硬盤中,關(guān)閉瀏覽器后,cookie數(shù)據(jù)仍然存在蒋失,直到過期時(shí)間結(jié)束才消失返帕。 1.用戶已經(jīng)登錄:這個(gè)唯一標(biāo)識(shí)會(huì)在用戶登錄時(shí)產(chǎn)生,用戶點(diǎn)擊退出時(shí)或者關(guān)閉瀏覽器時(shí)清除篙挽。2.用戶未登錄: 這個(gè)唯一標(biāo)識(shí)會(huì)用用戶進(jìn)入網(wǎng)站時(shí)產(chǎn)生荆萤,用戶關(guān)閉所有網(wǎng)站相關(guān)頁面時(shí)清除。3.session 生命周期: 在生成和清除之間铣卡,在網(wǎng)站內(nèi)的頁面任意跳轉(zhuǎn)链韭,session 標(biāo)識(shí)不會(huì)發(fā)生變化。

摘自:http://www.cnblogs.com/envenler/archive/2011/06/16/2082387.html
http://www.reibang.com/p/310d307e44c6

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末煮落,一起剝皮案震驚了整個(gè)濱河市敞峭,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌州邢,老刑警劉巖儡陨,帶你破解...
    沈念sama閱讀 217,907評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異量淌,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)嫌褪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門呀枢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人笼痛,你說我怎么就攤上這事裙秋。” “怎么了缨伊?”我有些...
    開封第一講書人閱讀 164,298評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵摘刑,是天一觀的道長。 經(jīng)常有香客問我刻坊,道長枷恕,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,586評(píng)論 1 293
  • 正文 為了忘掉前任谭胚,我火速辦了婚禮徐块,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘灾而。我一直安慰自己胡控,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評(píng)論 6 392
  • 文/花漫 我一把揭開白布旁趟。 她就那樣靜靜地躺著昼激,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上橙困,一...
    開封第一講書人閱讀 51,488評(píng)論 1 302
  • 那天敛劝,我揣著相機(jī)與錄音,去河邊找鬼纷宇。 笑死夸盟,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的像捶。 我是一名探鬼主播上陕,決...
    沈念sama閱讀 40,275評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼拓春!你這毒婦竟也來了释簿?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,176評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤硼莽,失蹤者是張志新(化名)和其女友劉穎庶溶,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體懂鸵,經(jīng)...
    沈念sama閱讀 45,619評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡偏螺,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了匆光。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片套像。...
    茶點(diǎn)故事閱讀 39,932評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖终息,靈堂內(nèi)的尸體忽然破棺而出夺巩,到底是詐尸還是另有隱情,我是刑警寧澤周崭,帶...
    沈念sama閱讀 35,655評(píng)論 5 346
  • 正文 年R本政府宣布柳譬,位于F島的核電站,受9級(jí)特大地震影響续镇,放射性物質(zhì)發(fā)生泄漏美澳。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評(píng)論 3 329
  • 文/蒙蒙 一磨取、第九天 我趴在偏房一處隱蔽的房頂上張望人柿。 院中可真熱鬧,春花似錦忙厌、人聲如沸凫岖。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽哥放。三九已至歼指,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間甥雕,已是汗流浹背踩身。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留社露,地道東北人挟阻。 一個(gè)月前我還...
    沈念sama閱讀 48,095評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像峭弟,于是被迫代替她去往敵國和親附鸽。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評(píng)論 2 354

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