2018-12-05 cookie和session

cookie和session有什么區(qū)別虐块?

cookie:存儲(chǔ)于客戶端 安全級(jí)別低 存儲(chǔ)量有限 一般不超過(guò)4k
session:存在服務(wù)器端 安全性較高 存儲(chǔ)空間大 但是內(nèi)存占用量也大丢间,而且session不能獨(dú)立存在,必須依賴cookie

flask中cookie和session介紹

一、cookie:
在網(wǎng)站中,http請(qǐng)求是無(wú)狀態(tài)的。也就是說(shuō)即使第一次和服務(wù)器連接后并且登錄成功后,第二次請(qǐng)求服務(wù)器依然不能知道當(dāng)前請(qǐng)求是哪個(gè)用戶问顷。cookie的出現(xiàn)就是為了解決這個(gè)問(wèn)題,第一次登錄后服務(wù)器返回一些數(shù)據(jù)(cookie)給瀏覽器禀梳,然后瀏覽器保存在本地杜窄,當(dāng)該用戶發(fā)送第二次請(qǐng)求的時(shí)候,就會(huì)自動(dòng)的把上次請(qǐng)求存儲(chǔ)的cookie數(shù)據(jù)自動(dòng)的攜帶給服務(wù)器算途,服務(wù)器通過(guò)瀏覽器攜帶的數(shù)據(jù)就能判斷當(dāng)前用戶是哪個(gè)了塞耕。cookie存儲(chǔ)的數(shù)據(jù)量有限,不同的瀏覽器有不同的存儲(chǔ)大小嘴瓤,但一般不超過(guò)4KB扫外。因此使用cookie只能存儲(chǔ)一些小量的數(shù)據(jù)。

二廓脆、session:
session和cookie的作用有點(diǎn)類似筛谚,都是為了存儲(chǔ)用戶相關(guān)的信息。不同的是停忿,cookie是存儲(chǔ)在本地瀏覽器驾讲,而session存儲(chǔ)在服務(wù)器。存儲(chǔ)在服務(wù)器的數(shù)據(jù)會(huì)更加的安全席赂,不容易被竊取吮铭。但存儲(chǔ)在服務(wù)器也有一定的弊端,就是會(huì)占用服務(wù)器的資源颅停,但現(xiàn)在服務(wù)器已經(jīng)發(fā)展至今沐兵,一些session信息還是綽綽有余的。

三便监、cookie和session結(jié)合使用:
web開(kāi)發(fā)發(fā)展至今,cookie和session的使用已經(jīng)出現(xiàn)了一些非常成熟的方案。在如今的市場(chǎng)或者企業(yè)里烧董,一般有兩種存儲(chǔ)方式:

1毁靶、存儲(chǔ)在服務(wù)端:通過(guò)cookie存儲(chǔ)一個(gè)session_id,然后具體的數(shù)據(jù)則是保存在session中逊移。如果用戶已經(jīng)登錄预吆,則服務(wù)器會(huì)在cookie中保存一個(gè)session_id,下次再次請(qǐng)求的時(shí)候胳泉,會(huì)把該session_id攜帶上來(lái)拐叉,服務(wù)器根據(jù)session_id在session庫(kù)中獲取用戶的session數(shù)據(jù)。就能知道該用戶到底是誰(shuí)扇商,以及之前保存的一些狀態(tài)信息凤瘦。這種專業(yè)術(shù)語(yǔ)叫做server side session。

2案铺、將session數(shù)據(jù)加密蔬芥,然后存儲(chǔ)在cookie中。這種專業(yè)術(shù)語(yǔ)叫做client side session控汉。flask采用的就是這種方式笔诵,但是也可以替換成其他形式。

localStorage和sessionStorage區(qū)別

localStorage和sessionStorage一樣都是用來(lái)存儲(chǔ)客戶端臨時(shí)信息的對(duì)象姑子。

他們均只能存儲(chǔ)字符串類型的對(duì)象(雖然規(guī)范中可以存儲(chǔ)其他原生類型的對(duì)象乎婿,但是目前為止沒(méi)有瀏覽器對(duì)其進(jìn)行實(shí)現(xiàn))。

localStorage生命周期是永久街佑,這意味著除非用戶顯示在瀏覽器提供的UI上清除localStorage信息谢翎,否則這些信息將永遠(yuǎn)存在。

sessionStorage生命周期為當(dāng)前窗口或標(biāo)簽頁(yè)舆乔,一旦窗口或標(biāo)簽頁(yè)被永久關(guān)閉了岳服,那么所有通過(guò)sessionStorage存儲(chǔ)的數(shù)據(jù)也就被清空了。

不同瀏覽器無(wú)法共享localStorage或sessionStorage中的信息希俩。相同瀏覽器的不同頁(yè)面間可以共享相同的 localStorage(頁(yè)面屬于相同域名和端口)吊宋,但是不同頁(yè)面或標(biāo)簽頁(yè)間無(wú)法共享sessionStorage的信息。這里需要注意的是颜武,頁(yè)面及標(biāo) 簽頁(yè)僅指頂級(jí)窗口璃搜,如果一個(gè)標(biāo)簽頁(yè)包含多個(gè)iframe標(biāo)簽且他們屬于同源頁(yè)面,那么他們之間是可以共享sessionStorage的鳞上。

同源的判斷規(guī)則:

http://www.test.com

https://www.test.com (不同源这吻,因?yàn)閰f(xié)議不同)

http://my.test.com(不同源,因?yàn)橹鳈C(jī)名不同)

http://www.test.com:8080(不同源篙议,因?yàn)槎丝诓煌?
localStorage和sessionStorage使用時(shí)使用相同的API:

localStorage.setItem("key","value");//以“key”為名稱存儲(chǔ)一個(gè)值“value”

localStorage.getItem("key");//獲取名稱為“key”的值

枚舉localStorage的方法:

for(var i=0;i<localStorage.length;i++){

     var name = localStorage.key(i)?;

     var value = localStorage.getItem(name);?

}

刪除localStorage中存儲(chǔ)信息的方法:

localStorage.removeItem("key");//刪除名稱為“key”的信息唾糯。

localStorage.clear();?//清空l(shuí)ocalStorage中所有信息

 通過(guò)getItem或直接使用localStorage["key"]獲取到的信息均為實(shí)際存儲(chǔ)的副本怠硼。

例如:

localStorage.key = {value1:"value1"}?;

localStorage.key.value1='a'?;

這里是無(wú)法?對(duì)實(shí)際存儲(chǔ)的值產(chǎn)生作用的,下面的寫法也不可以:

?localStorage.getItem("key").value1="a";ss
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末移怯,一起剝皮案震驚了整個(gè)濱河市香璃,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌舟误,老刑警劉巖葡秒,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異嵌溢,居然都是意外死亡眯牧,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門赖草,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)学少,“玉大人,你說(shuō)我怎么就攤上這事疚顷『狄祝” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵腿堤,是天一觀的道長(zhǎng)阀坏。 經(jīng)常有香客問(wèn)我,道長(zhǎng)笆檀,這世上最難降的妖魔是什么忌堂? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮酗洒,結(jié)果婚禮上士修,老公的妹妹穿的比我還像新娘。我一直安慰自己樱衷,他們只是感情好棋嘲,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著矩桂,像睡著了一般沸移。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上侄榴,一...
    開(kāi)封第一講書(shū)人閱讀 49,784評(píng)論 1 290
  • 那天雹锣,我揣著相機(jī)與錄音,去河邊找鬼癞蚕。 笑死蕊爵,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的桦山。 我是一名探鬼主播攒射,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼醋旦,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了匆篓?” 一聲冷哼從身側(cè)響起浑度,我...
    開(kāi)封第一講書(shū)人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎鸦概,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體甩骏,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡窗市,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了饮笛。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片咨察。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖福青,靈堂內(nèi)的尸體忽然破棺而出摄狱,到底是詐尸還是另有隱情,我是刑警寧澤无午,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布媒役,位于F島的核電站,受9級(jí)特大地震影響宪迟,放射性物質(zhì)發(fā)生泄漏酣衷。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一次泽、第九天 我趴在偏房一處隱蔽的房頂上張望穿仪。 院中可真熱鬧,春花似錦意荤、人聲如沸啊片。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)紫谷。三九已至,卻和暖如春御铃,著一層夾襖步出監(jiān)牢的瞬間碴里,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工上真, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留咬腋,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓睡互,卻偏偏與公主長(zhǎng)得像根竿,于是被迫代替她去往敵國(guó)和親陵像。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348

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