前端 nodejs之cookie入門

2021-07-05 15:58:31 字數 2474 閱讀 4404

set-cookie:  cookiename=cookievalue; [expires=] [;domain=] [;path=] [;secure=] [;httponly=]
引數說明:1、expires:指定過期時間,以gmt格式表示的時間字串,如方法乙個的「timeobj」。 

2、maxage:指定過期時間,同expires(expires和maxage選兩者其一設值即可)。和expires不同之處在於,maxage值的單位為毫秒(見方法二中的maxage:10*1000,即為10秒)。maxage值可以是正數和負數。正數表示當前cookie存活的時間。負數表示當前cookie只是隨著瀏覽器儲存在客戶端的記憶體裡,只要關閉瀏覽器,此cookie就馬上消失。預設值為-1。 

3、domain:指定可訪問cookie的主機名。主機名是指同乙個網域名稱下的不同主機。如:www.google.com和gmail.google.com是在兩個不同的主機上,即兩個不同的主機名。預設情況下,乙個主機中建立的cookie在另乙個主機下是不能被訪問,但可以通過domain引數來實現對其的控制,即所謂的跨子域。以google為例,要實現跨主機(跨子域)訪問,寫法如下:domain=.google.com,這樣就實現了所有google.com下的主機都可以訪問此cookie。(本機環境上設定此值時,cookie無法檢視。)  

4、path:指定可訪問此cookie的目錄。如:path=/default  表示當前cookie僅能在 default 目錄下使用。預設值為「/」,即根目錄下的所有目錄皆可以訪問。

5、secure:當設為true時,表示建立的cookie會以安全的形式向伺服器傳輸,即只能在https連線中被瀏覽器傳遞到伺服器端進行會話驗證;若是http連線則不會傳遞該資訊,所以不會被竊取到cookie裡的具體內容。同理,在客戶端,我們也無法使用document.cookie找到被設定了secure=true的cookie健值對。secure屬性是防止資訊在傳遞的過程中被監聽捕獲後資訊洩漏,httponly屬性的目的是防止程式獲取cookie後進行攻擊(xss)。我們可以把secure=true看成比httponly=true是更嚴格的訪問控制。

console.log(cookies) // 列印cookie

// 向客戶端設定乙個cookie

res.writehead(200, );

res.end('hello world\n');

}).listen(8000);

console.log('server running at ');

訪問:http://localhost:8000/    然後f12開啟開發者工具(以chrome瀏覽器為例)

當然在控制頁面中也可以看到

res.writehead(200, );
瀏覽器返回結果:

控制面板返回結果:

// 向客戶端設定乙個cookie

res.writehead(200, );

res.end('hello world\n'); }

).listen(8000); console.log('server running at ');

瀏覽器返回結果:

把值設為空字串,把有效期值0

res.writehead(200, );

前端小白必讀之Cookie攜帶

某小白是乙個只略懂基礎三件套和 angular 框架的前端初學者,這天,小白在寫乙個帶有登入功能的專案,ta 知道想要讓伺服器記住使用者的登入狀態,就必須在客戶端每次傳送請求上帶上 cookie,但 ta 不知道怎麼樣才能讓請求頭自動攜帶 cookie 在 angular 官方文件中提供了這樣一種方...

Nodejs中會話技術(cookie)

var express require express express var cookieparser require cookie parser 初始化cookie 注意 想要給cookie加密,需要加入鹽,不加密則不需要。use cookieparser jhh 為cookie設定值 get ...

nodejs 跨域設定cookie

所以解決方案是 前端的ajax後者axios需要設定withcredentials為true。我的是axios,這樣請求會攜帶上cookie 同時後端使用cors中介軟體。即可 需要安裝並且引入中介軟體cors const cors require cors var corsoptions 設定跨域...