對cookie的詮釋

2021-10-06 02:34:19 字數 1273 閱讀 6250

學習了一下cookie,這裡做下個人分享。

cookie是一種儲存機制,主要是web伺服器開發人員設定的,前端開發人員較少使用cookie,使用情況比如後端返回的token沒有放在cookie中,前端想要放在cookie中時即可使用。好處是cookie有失效時間,也就是在失效之前都是可以獲取到的。

後端設定(主要是測試使用,真正使用時會在中介軟體中處理,比如jwt)

const koa  = require('koa');

if(ctx.url=== '/')

);ctx.body = 'cookie is ok';

}elseelse

}}); console.log('server is starting at port 3001');

});

通過瀏覽器訪問介面可以發現cookie設定在了headers中,同時可以在cookie中檢視。

我們換個路徑測試

cookie被攜帶了進了請求頭的headers。

使用postman測試

可以看出跟瀏覽器測試是一致的。

前端設定時使用js-cookie等即可。

這裡做個解釋

domain設定域,path設定目錄,目錄以下的可以獲取到cookie,例如 [path:』/a』],使用』或者』都可以在headers自動傳遞cookie,但如果使用』則不會有cookie,因為獲取不到。 『expires:new date(『2019-5-13』)』,設定過期時間,如果設定的時是當前時間之前,那麼cookie不會正常寫入,因為已經失效。如果同時設定了maxage, 則expires無效,maxage表示以當前時間為基準,往後順延的有效時間。

vue專案中通常使用axios傳送,使用withcredentials:true會攜帶cookie。

BOA對COOKIE的支援

boa對於cookie的支援不是很好,google了一番,終於在chinaunix上找到了答案,主要還是對網頁標頭的處理不夠全面引起的。補充一點,對於編寫出來的cgi bin檔案,用arm linux gcc 3.4.1通過,提示是沒有網頁頭,bad gateway,缺少lflf,在目標板上無法執行...

httpclient對cookie的處理

session的保持是通過cookie來維持的,所以如果使用者有勾選x天內免登入,這個session 就x天內一直有效,就是通過這個cookie來維護。如果沒選x天內免登入,基本上就本次才能保持session,下次開啟瀏覽器就要重新登入了。所以在web安全裡,黑客通過xss,最終目的就是獲取cook...

前端對cookie的使用

注意 要使用cookie,頁面必須在伺服器中執行,直接雙擊開啟頁面無法使用cookie。設定自定義過期時間cookie function setcookie name,value,time 將字串時間轉換為毫秒,1秒 1000毫秒 function getmsec str else if times...