公交车上荫蒂添的好舒服的电影-公用玩物(np双xing总受)-公用小荡货芊芊-公与妇仑乱hd-攻把受做哭边走边肉楼梯play-古装一级淫片a免费播放口

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

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

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

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

  1. Cookie

    • 可設(shè)置過(guò)期時(shí)間(持久化)或會(huì)話級(jí)別(關(guān)閉瀏覽器失效)。
    • 支持安全屬性(HttpOnlySecure、SameSite)防范 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)閉瀏覽器失效)。
      支持安全屬性(HttpOnlySecureSameSite)防范 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 重寫(xiě)傳遞 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 重寫(xiě)傳遞 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)景

      用戶填寫(xiě)多步驟表單時(shí),實(shí)時(shí)保存草稿至 Session Storage,防止意外關(guān)閉丟失數(shù)據(jù)。
    • 代碼示例:
      javascript // 監(jiān)聽(tīng)輸入并保存 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)聽(tīng) 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è)而開(kāi)發(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

主站蜘蛛池模板: 国产制服丝袜亚洲高清 | 国av在线无码精品 | 精品无码av手机在线播放 | 国产性短视频在线观看 | 精品一精品国产一级毛片 | 国产激情内射在线影院 | 国产aaaaa三级视频 | 国产美女黄网站免费视频 | 岛国av一区二区无码 | 国产a网欧美午夜性 | 国产精品二区无 | 精品无人区乱码一区2区3区 | 国模一区二区三区 | 丰满人妻熟妇乱又伦精品 | av在线影院 | 国内偷窥一区二区三区视频 | 91精品第一国产综合精品 | 国产精品国语刺激对白在线观看 | 国产精品无码午夜免费影院 | 丰满女人又爽又紧又丰满 | 国产一区二区视频久草 | 国产尤物二区三区在线观看 | 国产麻豆精品国产三级国产av | 911亚洲精视频| 国产精品视频一区二区三 | 高潮胡言乱语对白刺激国产 | 国产精品白嫩在线观看 | 国产成人av在线播 | 成人亚洲理论片在线观看 | 国产精品va在线播放我和闺蜜 | 国产精品无码素人福利免费 | 国产一本高清在线欧美亚 | 国产日韩精品一区 | av免费不卡国产观看 | 国产精品一区二区三区四区五区 | 国产av人人夜夜澡人人爽麻豆 | 97精品国产综合久久 | 丰满少妇性开放视频 | 国产精品后入内射日本在线观看 | 国产成人亚洲精品91专区手机 | 国产午夜精品一区理论片飘花 |