摘要:是明文,不安全,別人利用可以被篡改和攻擊而存放服務(wù)器緩存中并且加密的,其他用戶看不到。當(dāng)用戶訪問增多,會比較占用你服務(wù)器內(nèi)存,考慮到減輕服務(wù)器性能方面,使用。
面試和工作中有時候碰到cookie和session的同異,現(xiàn)在小結(jié)如下:
首先看cookie
cookie增刪改查:http://www.w3school.com.cn/js...
識別用戶:用來客戶端和服務(wù)器端進行會話
HTTP是無狀態(tài)協(xié)議,這就回出現(xiàn)這種現(xiàn)象:當(dāng)你登錄一個頁面,然后轉(zhuǎn)到登錄網(wǎng)站的另一個頁面,服務(wù)器無法認(rèn)識到?;蛘哒f兩次的訪問,服務(wù)器不能認(rèn)識到是同一個客戶端的訪問,這就讓你重復(fù)登錄,所以產(chǎn)生了cookie。
cookie:第一次訪問一個服務(wù)器,不攜帶cookie,這時服務(wù)器在響應(yīng)(response)下行HTTP報文中,命令瀏覽器攜帶cookie信息;瀏覽器再訪問同一個域的時候,將把cookie信息攜帶到請求(request)上行HTTP請求中,從而實現(xiàn)了HTTP模擬有了狀態(tài)。
每個特定域名下面的cookie數(shù)量是有限制的,fixfox是50個,Opera是30個,chrome和safari是沒有限制的
2.cookie特點cookie是不加密的
cookie是可以被篡改和攻擊
cookie大小受到限制
3.node使用//使用cookie必須要使用cookie-parser中間件 var cookieParser = require("cookie-parser"); app.use(cookieParser()); express中的cookie: res負(fù)責(zé)設(shè)置cookie, req負(fù)責(zé)識別cookie。 cookie用來制作記錄用戶的一些信息,如購買歷史、猜你喜歡、訪問量等
現(xiàn)在看session
4.session產(chǎn)生由于cookie明文等一些不足所以產(chǎn)生了session
session依賴cookie,就是利用cookie,實現(xiàn)的“會話”,因此當(dāng)cookie被禁用,session也無法使用。
session比cookie不一樣在哪里呢? session會下發(fā)一個秘鑰(cookie)(亂碼),客戶端每次訪問都攜帶這個秘鑰,那么服務(wù)器如果發(fā)現(xiàn)這個秘鑰吻合,就能夠顯示這個用戶曾經(jīng)保存的信息。
任何語言中,session的使用,是“機理透明”的,也就是讓你感覺不到這事兒和cookie有關(guān)
session是加密的
var session = reqiure("express-session"); app.use(session({ ..一些配置 })); app.get("/",function(req,res){ console.log(req.sission.login); }); app.get("/login",function(req,res){ req.session.login = "1"; }); 都是req對象
Session存在于服務(wù)器的內(nèi)存中,如果服務(wù)器重啟就會丟失session同時需要重新登錄
6.cookie和session不同cookie數(shù)據(jù)存放在客戶的瀏覽器上;session數(shù)據(jù)放在服務(wù)器緩存中。
cookie是明文,不安全,別人利用cookie可以被篡改和攻擊;而session存放服務(wù)器緩存中并且加密的,其他用戶看不到。
session會在一定時間內(nèi)保存在服務(wù)器上。當(dāng)用戶訪問增多,會比較占用你服務(wù)器內(nèi)存,考慮到減輕服務(wù)器性能方面,使用cookie。
4.單個cookie保存的數(shù)據(jù)不能超過4K,如果cookie的內(nèi)容超過4K的話,那么調(diào)用的時候就會返回一個空的字符串;session的密鑰(cookie),可以對應(yīng)無限大的數(shù)據(jù)
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/87086.html
摘要:和函數(shù)的同與異同都接受兩個參數(shù),一個是將要執(zhí)行的代碼塊,一個是以毫秒為單位的時間間隔,當(dāng)過了設(shè)定的時間間隔就執(zhí)行代碼塊部分。 setTimeout()和setInterval()函數(shù)的同與異:同:都接受兩個參數(shù),一個是將要執(zhí)行的代碼塊,一個是以毫秒為單位的時間間隔,當(dāng)過了設(shè)定的時間間隔就執(zhí)行代碼塊部分。異:setTimeout(codeblock, millisec)函數(shù)只執(zhí)行一次代碼...
摘要:的作用就是為了解決協(xié)議無狀態(tài)的缺陷所作的努力。的內(nèi)容主要包括名字,值,過期時間,路徑和域。這種生命期為瀏覽器會話期的被稱為會話。而機制采用的是一種在服務(wù)器端保持狀態(tài)的解決方案。中的有效期默認(rèn)分鐘,也就是說,客戶端超過分鐘,當(dāng)前就會失效。 會話控制是什么? cookie和session都是跟蹤整個會話過程的技術(shù)手段。而會話,就是用戶通過瀏覽器和服務(wù)器的一次通話。 為什么要有會話控制? 因...
摘要:服務(wù)器檢查該,以此來辨認(rèn)用戶狀態(tài)。五下的相關(guān)應(yīng)用應(yīng)用在中配置如下配置項用于設(shè)置存儲方式,默認(rèn)是,即存儲在文件中,該文件位于配置項配置的路徑,即。配置項用于設(shè)置有效期,默認(rèn)為分鐘。配置項用于配置數(shù)據(jù)是否加密。 一、cookie的由來 ??當(dāng)用戶訪問某網(wǎng)站時,web服務(wù)器會將部分信息保存到本地計算機上,當(dāng)用戶再次關(guān)顧該網(wǎng)站時,服務(wù)器會去查看用戶是否登錄過該網(wǎng)站,如果登錄過,就會將這些記錄在...
閱讀 3306·2021-09-22 16:06
閱讀 3297·2021-09-02 15:40
閱讀 662·2019-08-30 15:54
閱讀 1065·2019-08-26 12:22
閱讀 1420·2019-08-26 12:17
閱讀 2774·2019-08-26 12:09
閱讀 540·2019-08-26 10:20
閱讀 814·2019-08-23 16:28