菜雞每日一面系列打卡38天
每天一道面試題目
助力小夥伴輕鬆拿offer
堅持就是勝利,我們一起努力!
題目描述
Cookie和Session有什麼區別與聯繫?
題目分析
Cookie和Session的區別與聯繫歷來是面試考查的熱點,該題頻繁出現在阿里巴巴、字節跳動等大廠的面試過程中。既然是熱點,回答就更要出彩,一道接近於開卷考試的題目,如果答得不好是很可能對面試結果有決定性作用的。
那麼,如何回答才能出彩呢?一句話概況就是,要有自己獨到的見解,不能人云亦云。要做到這一點並不容易,需要深入理解其背後的原理,而不是隻靠背題。
要想搞清楚兩個事物的區別與聯繫,首先需要了解這兩個事物的概念。接下來,隨菜雞一起去看看吧!
題目解答
Session是一種抽象的概念,而不是一種具體的實現,只要能建立起user agent與server之間一對一交互的,就可以稱之爲Session,這意味着它可以有很多種實現。網上很多文章對Session的描述侷限在一種通用的實現上,這在一定程度上來說是一種誤導。
Cookie作爲HTTP協議中header頭的一個字段,是一個具體的存在,它可以認爲是廣義Session的一種實現方式。
而我們日常所說的Session,實際上是藉助Cookie及服務器存儲的一種會話實現。從這個層面出發,二者關係如下:
Cookie存儲在客戶端(瀏覽器),而Session存儲在服務端。這一條也決定了Session相較Cookie來說更安全。
Session的運行依賴Session id,而Session id是存在Cookie中的,如果瀏覽器禁用了Cookie,Session也會失效。
Cookie保存數據<=4KB,一個站點最多保存20個Cookie,而Session並沒有上限,取決於服務器的能力和具體的使用場景。
Cookie支持跨域名訪問,Session不支持跨域名訪問。
Cookie可以設置爲長期有效,而Session會隨會話窗口關閉而失效。
以上便是菜雞對Cookie和Session之間區別的一些總結,供大家參考。
相關鏈接
學習 | 工作 | 分享
長按關注“有理想的菜雞”
只有你想不到,沒有你學不到