日韩欧美国产精品免费一二-日韩欧美国产精品亚洲二区-日韩欧美国产精品专区-日韩欧美国产另-日韩欧美国产免费看-日韩欧美国产免费看清风阁

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

【W(wǎng)EB開發(fā)】Cookie、Session、Local Storage 和 Session Storage 詳解

admin
2025年4月8日 9:44 本文熱度 233

一、基本概念與工作機(jī)制

  1. Cookie

    • 可設(shè)置過(guò)期時(shí)間(持久化)或會(huì)話級(jí)別(關(guān)閉瀏覽器失效)。
    • 支持安全屬性(HttpOnly、SecureSameSite)防范 XSS 和 CSRF 攻擊。
    • 服務(wù)器通過(guò)響應(yīng)頭 Set-Cookie 設(shè)置客戶端存儲(chǔ)的鍵值對(duì)。
    • 客戶端每次請(qǐng)求自動(dòng)攜帶同源 Cookie,實(shí)現(xiàn)狀態(tài)保持(如登錄憑證)。
    • 定義

      由服務(wù)器生成并發(fā)送到客戶端的小型文本數(shù)據(jù)(通常不超過(guò)4KB),用于跟蹤用戶狀態(tài)。
    • 工作機(jī)制:

      服務(wù)器通過(guò)響應(yīng)頭 Set-Cookie 設(shè)置客戶端存儲(chǔ)的鍵值對(duì)。
      客戶端每次請(qǐng)求自動(dòng)攜帶同源 Cookie,實(shí)現(xiàn)狀態(tài)保持(如登錄憑證)。
    • 特性:

      可設(shè)置過(guò)期時(shí)間(持久化)或會(huì)話級(jí)別(關(guān)閉瀏覽器失效)。
      支持安全屬性(HttpOnly、Secure、SameSite)防范 XSS 和 CSRF 攻擊。
  2. Session

    • 數(shù)據(jù)存儲(chǔ)在服務(wù)器內(nèi)存或數(shù)據(jù)庫(kù)中,安全性較高。
    • 默認(rèn)會(huì)話級(jí)有效期,支持手動(dòng)設(shè)置超時(shí)時(shí)間。
    • 首次請(qǐng)求時(shí)服務(wù)器創(chuàng)建 Session 并返回 Session ID,后續(xù)請(qǐng)求通過(guò)該 ID 關(guān)聯(lián)數(shù)據(jù)。
    • 若客戶端禁用 Cookie,需通過(guò) URL 重寫傳遞 Session ID。
    • 定義

      服務(wù)器端存儲(chǔ)的用戶會(huì)話數(shù)據(jù),通過(guò) Session ID(通常存于 Cookie)標(biāo)識(shí)客戶端身份。
    • 工作機(jī)制:

      首次請(qǐng)求時(shí)服務(wù)器創(chuàng)建 Session 并返回 Session ID,后續(xù)請(qǐng)求通過(guò)該 ID 關(guān)聯(lián)數(shù)據(jù)。
      若客戶端禁用 Cookie,需通過(guò) URL 重寫傳遞 Session ID。
    • 特性:

      數(shù)據(jù)存儲(chǔ)在服務(wù)器內(nèi)存或數(shù)據(jù)庫(kù)中,安全性較高。
      默認(rèn)會(huì)話級(jí)有效期,支持手動(dòng)設(shè)置超時(shí)時(shí)間。
  3. Local Storage

    • 通過(guò) localStorage.setItem(key, value) 存儲(chǔ)字符串類型數(shù)據(jù)。
    • 同源窗口共享數(shù)據(jù),容量約5MB。
    • 定義

      HTML5 提供的客戶端持久化存儲(chǔ),數(shù)據(jù)永久保存(需手動(dòng)刪除)。
    • 工作機(jī)制:

      通過(guò) localStorage.setItem(key, value) 存儲(chǔ)字符串類型數(shù)據(jù)。
      同源窗口共享數(shù)據(jù),容量約5MB。
    • 典型應(yīng)用

      長(zhǎng)期保存用戶主題偏好、緩存靜態(tài)資源。
  4. Session Storage

    • 與 Local Storage API 相同,但作用域限定為單個(gè)標(biāo)簽頁(yè)。
    • 適用于臨時(shí)數(shù)據(jù)存儲(chǔ)(如表單草稿、多步驟流程狀態(tài))。
    • 定義

      會(huì)話級(jí)客戶端存儲(chǔ),數(shù)據(jù)僅在當(dāng)前標(biāo)簽頁(yè)有效,關(guān)閉后自動(dòng)清除。
    • 工作機(jī)制:

      與 Local Storage API 相同,但作用域限定為單個(gè)標(biāo)簽頁(yè)。
      適用于臨時(shí)數(shù)據(jù)存儲(chǔ)(如表單草稿、多步驟流程狀態(tài))。

?二、優(yōu)缺點(diǎn)對(duì)比

特性CookieSessionLocal StorageSession Storage
存儲(chǔ)位置
客戶端
服務(wù)器端
客戶端
客戶端
生命周期
可自定義過(guò)期時(shí)間
會(huì)話或自定義超時(shí)
永久存儲(chǔ)(手動(dòng)刪除)
會(huì)話級(jí)(標(biāo)簽頁(yè)關(guān)閉清除)
容量限制
4KB/域名
無(wú)限制(受服務(wù)器內(nèi)存限制)
約5MB
約5MB
安全性
較低(易受 XSS/CSRF 攻擊)
較高(數(shù)據(jù)在服務(wù)端)
中(依賴同源策略)
中(同 Local Storage)
數(shù)據(jù)傳輸
每次請(qǐng)求自動(dòng)攜帶
僅傳遞 Session ID
不參與 HTTP 請(qǐng)求
不參與 HTTP 請(qǐng)求



三、應(yīng)用案例分析

  1. Cookie 應(yīng)用:用戶登錄狀態(tài)

    • 場(chǎng)景

      用戶登錄后,服務(wù)器返回包含身份令牌的 Cookie,后續(xù)請(qǐng)求自動(dòng)攜帶實(shí)現(xiàn)免密驗(yàn)證。
    • 代碼示例:
      javascript // 服務(wù)端設(shè)置 Cookie(Node.js) res.setHeader('Set-Cookie', 'token=abc123; HttpOnly; Max-Age=3600');

  2. Session 應(yīng)用:購(gòu)物車功能

    • 場(chǎng)景

      用戶添加商品至購(gòu)物車,服務(wù)器通過(guò) Session 存儲(chǔ)商品列表。
    • 代碼示例:
      java // Java Servlet 中操作 Session HttpSession session = request.getSession(); session.setAttribute("cart", productList);

  3. Local Storage 應(yīng)用:主題偏好持久化

    • 場(chǎng)景

      用戶選擇深色主題后,前端保存至 Local Storage,下次加載自動(dòng)應(yīng)用。
    • 代碼示例:
      javascript // 保存主題 localStorage.setItem('theme', 'dark'); // 讀取主題 const theme = localStorage.getItem('theme') || 'light'; document.body.className = theme;

  4. Session Storage 應(yīng)用:表單草稿暫存

    • 場(chǎng)景

      用戶填寫多步驟表單時(shí),實(shí)時(shí)保存草稿至 Session Storage,防止意外關(guān)閉丟失數(shù)據(jù)。
    • 代碼示例:
      javascript // 監(jiān)聽輸入并保存 form.addEventListener('input', () => { const data = JSON.stringify(formData); sessionStorage.setItem('draft', data); });


四、安全與最佳實(shí)踐

  1. Cookie

    • 敏感數(shù)據(jù)(如 Token)應(yīng)設(shè)置 HttpOnly 和 Secure 屬性。
    • 使用 SameSite=Strict 防范 CSRF 攻擊。
  2. Session

    • 避免存儲(chǔ)過(guò)大對(duì)象,防止服務(wù)器內(nèi)存壓力。
    • 分布式系統(tǒng)中需使用集中式 Session 存儲(chǔ)(如 Redis)。
  3. Web Storage

    • 避免存儲(chǔ)敏感信息(如密碼),需加密處理。
    • 監(jiān)聽 storage 事件實(shí)現(xiàn)跨標(biāo)簽頁(yè)同步(僅 Local Storage)。

五、總結(jié)

  • Cookie

    適用于需與服務(wù)器交互的小型數(shù)據(jù)(如身份驗(yàn)證),但需注意安全性。
  • Session

    適合存儲(chǔ)敏感或臨時(shí)會(huì)話數(shù)據(jù)(如購(gòu)物車),依賴服務(wù)器資源。
  • Local Storage

    長(zhǎng)期存儲(chǔ)非敏感數(shù)據(jù)(如用戶偏好),容量大且易用。
  • Session Storage

    臨時(shí)存儲(chǔ)會(huì)話級(jí)數(shù)據(jù)(如表單草稿),標(biāo)簽頁(yè)隔離更安全。

根據(jù)具體場(chǎng)景選擇合適的存儲(chǔ)方案,結(jié)合安全策略和性能要求,可顯著提升用戶體驗(yàn)和系統(tǒng)可靠性。


閱讀原文:原文鏈接


該文章在 2025/4/8 15:02:06 編輯過(guò)
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 亚洲欧美日韩人兽免费 | 日本不卡在线免费 | 2025国产精品偷窥盗摄 | 婷婷亚洲久悠悠色悠在线播放 | 日本中文字幕乱码免费 | 伊人精品 | 欧美有码在线 | 尤物国产精品福利三区 | 免费的a级片 | 亚洲欧美综合人成在线 | 国产精品成人免费 | 一区二区亚洲精品国产片 | 国产在线拍小情侣国产拍拍偷 | 亚洲区日韩精品中文字暮 | 国产福利不卡免费视频在线观 | 无毒不卡在线观看无需下载 | 成人国产精品 | 国产精品沙发午睡系列 | 国产亚洲视频中文字幕97精品 | 国产精品欧美精品aⅴ在线 精品欧美在 | 日韩精品免费一线在线观看 | 欧美日韩精品中文字幕 | 日本高清免费观看 | 日本一区二区三区视频在线 | 国产精品成人aaaaa网站 | 国产日韩乱码精品一区二区 | 片在线观看 | 清纯亚洲a | 亚洲日韩国产成网在线观看 | 在线观看亚洲一区二区三区 | 亚洲一区二区三区中文字幕在线 | 日韩欧美精品综合一区二区三 | 国产a级三级三区成人国产一级婬 | 国产在线视频第一页 | a级高清免费 | 日本精品二三区视频在线观看 | 国产精品福利小 | 国产亚洲玖玖玖在线观看 | 日本精品一区二区三区在线 | 六月婷婷国产精品综合 | xyx性爽欧美观看 |