cookie

/**
 * 設(shè)置cookie
 * @param {string} name  鍵名
 * @param {string} value 鍵值
 * @param {integer} days cookie周期
 */
function setCookie(name, value, days) {
    if(days) {
        var date = new Date();
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
        var expires = "; expires=" + date.toGMTString();
    } else {
        var expires = "";
    }
    document.cookie = encodeURIComponent(name) + "=" + encodeURIComponent(value) + expires + "; path=/";
}
// 獲取cookie
function getCookie(name) {
    var nameEQ = encodeURIComponent(name) + "=";
    var ca = document.cookie.split(';');
    for(var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while(c.charAt(0) == ' ') c = c.substring(1, c.length);
        if(c.indexOf(nameEQ) == 0) return decodeURIComponent(c.substring(nameEQ.length, c.length));
    }
    return null;
}
// 刪除cookie
function deleteCookie(name) {
    setCookie(name, "", -1);
}
  1. js高級程序設(shè)計(jì)上說:大小4095B內(nèi),包括名 值 和 ‘’=‘’ ,個數(shù)20個內(nèi)(很多都支持大于20個了)?!俺叽缦拗朴绊懙揭粋€域下所有的cookie,而并非每個cookie單獨(dú)限制?!?一開始以為是這個域名下所有的cookie大小不能超過4095B,后來測試后才發(fā)現(xiàn)是對每一個cookie的限制,我可以存多個4kb的cookie;不知道那句話是表達(dá)問題還是真的有問題。
  2. 還需要注意的是所有的cookie都會由瀏覽器作為請求頭發(fā)送,cokie信息越大,完成對服務(wù)器請求的時間也就越長,最好是盡可能少存信息,一定不要存重要和敏感的數(shù)據(jù);
  3. 可以用JSON.stringify()和JSON.parse() 來存多個鍵值對
  4. 通過path來設(shè)置可操作該cookie的路徑,設(shè)置為path=/ 則該域名下的都可以操作
  5. 所有的名字和值通過encodeURIComponent()來進(jìn)行URL編碼和decodeURIComponent()來解碼;不轉(zhuǎn)碼的話,如果有漢字或需要轉(zhuǎn)碼的字符則會報(bào)錯503 頁面顯示EOF,應(yīng)該就是在RequestHeaderd的Cookie字段有問題;經(jīng)測試漢字如果不通過URL編碼的話,存在cookie的里面是亂碼,但是取出來用又是正常的;編碼后還會增加存儲空間,如"哈"==>"%E5%93%88",2個字節(jié)到要用9個字節(jié)了,有一些符號也會轉(zhuǎn)如 " ;等
  6. 漢字是2個字節(jié),字母符號數(shù)字是1個字節(jié);如果存的全部都是URL編碼后的漢字,最好不要超過450個漢字,包括名和值;超過的就不存了
  7. 安全標(biāo)志 secure ;則只能在https下的請求才發(fā)送cookie
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • HTTP cookie(也稱為web cookie,網(wǎng)絡(luò)cookie,瀏覽器cookie或者簡稱cookie)是網(wǎng)...
    留七七閱讀 18,382評論 2 71
  • 背景在HTTP協(xié)議的定義中,采用了一種機(jī)制來記錄客戶端和服務(wù)器端交互的信息,這種機(jī)制被稱為cookie,cooki...
    時芥藍(lán)閱讀 2,467評論 1 17
  • 此文知識來自于:《深入分析Java_Web技術(shù)》第十章現(xiàn)代session與cookie的應(yīng)用 本章概要:當(dāng)我們的一...
    李文文丶閱讀 1,572評論 0 4
  • 有一段時間沒有寫東西了,一是因?yàn)楣ぷ髅?,一是因?yàn)樘鞖馓餆幔o不下心來寫。今天的天,悶熱,夾雜著浮塵,典型的天山以...
    至簡從心閱讀 721評論 16 12
  • 2016-03-15 周二 晴 我這個人很沒口福,其中一個重要體現(xiàn)就是我平時極少買零食吃。 身邊的朋友倒是有很多零...
    韓日記閱讀 420評論 2 4

友情鏈接更多精彩內(nèi)容