2019 iOS面試題-----網(wǎng)絡(luò)相關(guān)之Cookie和Session

2019 iOS面試題大全---全方面剖析面試
2019 iOS面試題-----網(wǎng)絡(luò)相關(guān)之HTTP協(xié)議
2019 iOS面試題-----網(wǎng)絡(luò)相關(guān)之HTTPS久又、對(duì)稱加密唉堪、非對(duì)稱加密
2019 iOS面試-----一個(gè)基于UDP的簡(jiǎn)單的聊天Demo(用C語(yǔ)言槽袄、python芹关、GCDAsyncUdpSocket來實(shí)現(xiàn)UDP通信)
2019 iOS面試題-----網(wǎng)絡(luò)相關(guān)之UDP的特點(diǎn)皿桑、UDP的報(bào)文結(jié)構(gòu)及差錯(cuò)檢測(cè)
2019 iOS面試題-----網(wǎng)絡(luò)相關(guān)之TCP撒会、三次握手嘹朗、四次揮手、代碼實(shí)現(xiàn)
2019 iOS面試題-----網(wǎng)絡(luò)相關(guān)之TCP進(jìn)階:可靠數(shù)據(jù)傳輸诵肛、流量控制(滑動(dòng)窗口)屹培、擁塞控制
2019 iOS面試題-----網(wǎng)絡(luò)相關(guān)之DNS
2019 iOS面試題-----網(wǎng)絡(luò)相關(guān)之Cookie和Session
2019 iOS面試題-----網(wǎng)絡(luò)相關(guān)之IP協(xié)議、IP數(shù)據(jù)報(bào)分片怔檩、IPv4編址褪秀、網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)
2019 iOS面試題-----網(wǎng)絡(luò)相關(guān)之IPv6、從IPv4到IPv6的遷移

一薛训、Cookie

2019 iOS面試題-----網(wǎng)絡(luò)相關(guān)之HTTP協(xié)議
這里有說到媒吗,HTTP協(xié)議是無(wú)狀態(tài)的,服務(wù)器中沒有保存客戶端的狀態(tài)许蓖,客戶端必須每次帶上自己的狀態(tài)去請(qǐng)求服務(wù)器
基于HTTP這種特點(diǎn)蝴猪,就產(chǎn)生了cookie/session

1调衰、用戶與服務(wù)器的交互:Cookie

cookie主要是用來記錄用戶狀態(tài)膊爪,區(qū)分用戶,狀態(tài)保存在客戶端嚎莉。

  • 1.首次訪問amazon時(shí)米酬,客戶端發(fā)送一個(gè)HTTP請(qǐng)求到服務(wù)器端 。服務(wù)器端發(fā)送一個(gè)HTTP響應(yīng)到客戶端趋箩,其中包含Set-Cookie頭部
  • 2.客戶端發(fā)送一個(gè)HTTP請(qǐng)求到服務(wù)器端赃额,其中包含Cookie頭部。服務(wù)器端發(fā)送一個(gè)HTTP響應(yīng)到客戶端
  • 3.隔段時(shí)間再去訪問時(shí)叫确,客戶端會(huì)直接發(fā)包含Cookie頭部的HTTP請(qǐng)求跳芳。服務(wù)器端發(fā)送一個(gè)HTTP響應(yīng)到客戶端

如圖可知,cookie技術(shù)有4個(gè)組件:

  • 1.在HTTP響應(yīng)報(bào)文中的一個(gè)cookie首部行
  • 2.在HTTP請(qǐng)求報(bào)文中的一個(gè)cookie首部行
  • 3.在用戶端系統(tǒng)中保留一個(gè)cookie文件竹勉,并由用戶的瀏覽器進(jìn)行管理
  • 4.位于Web站點(diǎn)的一個(gè)后端數(shù)據(jù)庫(kù)

也就是說飞盆,cookie功能需要瀏覽器的支持。如果瀏覽器不支持cookie(如大部分手機(jī)中的瀏覽器)或者把cookie禁用了次乓,cookie功能就會(huì)失效吓歇。

2、cookie的修改和刪除

在修改cookie的時(shí)候票腰,只需要新cookie覆蓋舊cookie即可城看,在覆蓋的時(shí)候,由于Cookie具有不可跨域名性杏慰,注意name测柠、path炼鞠、domain需與原cookie一致
刪除cookie也一樣,設(shè)置cookie的過期時(shí)間expires為過去的一個(gè)時(shí)間點(diǎn)鹃愤,或者maxAge = 0(Cookie的有效期,單位為秒)即可

3簇搅、cookie的安全

事實(shí)上,cookie的使用存在爭(zhēng)議软吐,因?yàn)樗徽J(rèn)為是對(duì)用戶隱私的一種侵害瘩将,而且cookie并不安全
HTTP協(xié)議不僅是無(wú)狀態(tài)的,而且是不安全的凹耙。使用HTTP協(xié)議的數(shù)據(jù)不經(jīng)過任何加密就直接在網(wǎng)絡(luò)上傳播姿现,有被截獲的可能。使用HTTP協(xié)議傳輸很機(jī)密的內(nèi)容是一種隱患肖抱。

  • 如果不希望Cookie在HTTP等非安全協(xié)議中傳輸备典,可以設(shè)置Cookie的secure屬性為true。瀏覽器只會(huì)在HTTPS和SSL等安全協(xié)議中傳輸此類Cookie意述。
  • 此外提佣,secure屬性并不能對(duì)Cookie內(nèi)容加密,因而不能保證絕對(duì)的安全性荤崇。如果需要高安全性拌屏,需要在程序中對(duì)Cookie內(nèi)容加密、解密术荤,以防泄密倚喂。
  • 也可以設(shè)置cookieHttpOnly,如果在cookie中設(shè)置了HttpOnly屬性瓣戚,那么通過js腳本將無(wú)法讀取到cookie信息端圈,這樣能有效的防止XSS(跨站腳本攻擊)攻擊

二、Session

除了使用Cookie子库,Web應(yīng)用程序中還經(jīng)常使用Session來記錄客戶端狀態(tài)舱权。Session是服務(wù)器端使用的一種記錄客戶端狀態(tài)的機(jī)制,使用上比Cookie簡(jiǎn)單一些仑嗅,相應(yīng)的也增加了服務(wù)器的存儲(chǔ)壓力宴倍。

Session是另一種記錄客戶狀態(tài)的機(jī)制,不同的是Cookie保存在客戶端瀏覽器中无畔,而Session保存在服務(wù)器上啊楚。
客戶端瀏覽器訪問服務(wù)器的時(shí)候,服務(wù)器把客戶端信息以某種形式記錄在服務(wù)器上浑彰。這就是Session恭理。客戶端瀏覽器再次訪問時(shí)只需要從該Session中查找該客戶的狀態(tài)就可以了郭变。


如圖:

  • 當(dāng)程序需要為某個(gè)客戶端的請(qǐng)求創(chuàng)建一個(gè)session時(shí)颜价,服務(wù)器首先檢查這個(gè)客戶端的請(qǐng)求里是否已包含了一個(gè)session標(biāo)識(shí)(稱為SessionId
  • 如果已包含則說明以前已經(jīng)為此客戶端創(chuàng)建過session涯保,服務(wù)器就按照SessionId把這個(gè)session檢索出來,使用(檢索不到周伦,會(huì)新建一個(gè))
  • 如果客戶端請(qǐng)求不包含SessionId夕春,則為此客戶端創(chuàng)建一個(gè)session并且生成一個(gè)與此session相關(guān)聯(lián)的SessionIdSessionId的值應(yīng)該是一個(gè)既不會(huì)重復(fù)专挪,又不容易被找到規(guī)律以仿造的字符串及志,這個(gè)SessionId將被在本次響應(yīng)中返回給客戶端保存。
  • 保存這個(gè)SessionId的方式可以采用cookie寨腔,這樣在交互過程中瀏覽器可以自動(dòng)的按照規(guī)則把這個(gè)標(biāo)識(shí)發(fā)送給服務(wù)器速侈。但cookie可以被人為的禁止,則必須有其他機(jī)制以便在cookie被禁止時(shí)仍然能夠把SessionId傳遞回服務(wù)器迫卢。

三倚搬、Cookie 和Session 的區(qū)別:

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

2、cookie相比session不是很安全家卖,別人可以分析存放在本地的cookie并進(jìn)行cookie欺騙,考慮到安全應(yīng)當(dāng)使用session眨层。

3、session會(huì)在一定時(shí)間內(nèi)保存在服務(wù)器上篡九。當(dāng)訪問增多谐岁,會(huì)比較占用你服務(wù)器的性能,考慮到減輕服務(wù)器性能方面醋奠,應(yīng)當(dāng)使用cookie榛臼。

4、單個(gè)cookie保存的數(shù)據(jù)不能超過4K窜司,很多瀏覽器都限制一個(gè)站點(diǎn)最多保存20個(gè)cookie沛善。而session存儲(chǔ)在服務(wù)端,可以無(wú)限量存儲(chǔ)

5塞祈、所以:將登錄信息等重要信息存放為session;其他信息如果需要保留金刁,可以放在cookie

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市议薪,隨后出現(xiàn)的幾起案子尤蛮,更是在濱河造成了極大的恐慌,老刑警劉巖斯议,帶你破解...
    沈念sama閱讀 219,539評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件产捞,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡哼御,警方通過查閱死者的電腦和手機(jī)坯临,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門焊唬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人看靠,你說我怎么就攤上這事赶促。” “怎么了挟炬?”我有些...
    開封第一講書人閱讀 165,871評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵鸥滨,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我谤祖,道長(zhǎng)爵赵,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,963評(píng)論 1 295
  • 正文 為了忘掉前任泊脐,我火速辦了婚禮空幻,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘容客。我一直安慰自己秕铛,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,984評(píng)論 6 393
  • 文/花漫 我一把揭開白布缩挑。 她就那樣靜靜地躺著但两,像睡著了一般。 火紅的嫁衣襯著肌膚如雪供置。 梳的紋絲不亂的頭發(fā)上谨湘,一...
    開封第一講書人閱讀 51,763評(píng)論 1 307
  • 那天,我揣著相機(jī)與錄音芥丧,去河邊找鬼紧阔。 笑死,一個(gè)胖子當(dāng)著我的面吹牛续担,可吹牛的內(nèi)容都是我干的擅耽。 我是一名探鬼主播,決...
    沈念sama閱讀 40,468評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼物遇,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼乖仇!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起询兴,我...
    開封第一講書人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤乃沙,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后诗舰,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體警儒,經(jīng)...
    沈念sama閱讀 45,850評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,002評(píng)論 3 338
  • 正文 我和宋清朗相戀三年始衅,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了冷蚂。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片缭保。...
    茶點(diǎn)故事閱讀 40,144評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖蝙茶,靈堂內(nèi)的尸體忽然破棺而出艺骂,到底是詐尸還是另有隱情,我是刑警寧澤隆夯,帶...
    沈念sama閱讀 35,823評(píng)論 5 346
  • 正文 年R本政府宣布钳恕,位于F島的核電站,受9級(jí)特大地震影響蹄衷,放射性物質(zhì)發(fā)生泄漏忧额。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,483評(píng)論 3 331
  • 文/蒙蒙 一愧口、第九天 我趴在偏房一處隱蔽的房頂上張望睦番。 院中可真熱鬧,春花似錦耍属、人聲如沸托嚣。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)示启。三九已至,卻和暖如春领舰,著一層夾襖步出監(jiān)牢的瞬間夫嗓,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工冲秽, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留舍咖,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,415評(píng)論 3 373
  • 正文 我出身青樓劳跃,卻偏偏與公主長(zhǎng)得像谎仲,于是被迫代替她去往敵國(guó)和親浙垫。 傳聞我的和親對(duì)象是個(gè)殘疾皇子刨仑,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,092評(píng)論 2 355