【JavaEE進階】獲取Cookie/Session

🍀Cookie簡介

HTTP協議自身是屬于 "?狀態"協議.

"?狀態"的含義指的是:

  • 默認情況下 HTTP 協議的客?端和服務器之間的這次通信,和下次通信之間沒有直接的聯系.但是實際開發中,我們很多時候是需要知道請求之間的關聯關系的.

例如登陸?站成功后,第?次訪問的時候服務器就能知道該請求是否是已經登陸過了.

?

上圖中輸入用戶名和密碼,點擊登錄之后,將這個登錄請求發送給服務器,這個請求攜帶著用戶名密碼信息發送給服務器,服務器將用戶名和密碼進行存儲(session),生成一個sessionId(sessionId對應session信息)返回給客戶端,存于cookie中,訪問其他頁面時就可以攜帶cookie進行訪問。

上述圖中的"令牌"通常就存儲在Cookie字段中. ?如去醫院掛號

  1. 看病之前先掛號.掛號時候需要提供?份證號,同時得到了?張"就診卡",這個就診卡就相當于患 者的"令牌".
  2. 后續去各個科室進?檢查,診斷,開藥等操作,都不必再出??份證了,只要憑就診卡即可識別出當 前患者的?份.
  3. 看完病了之后,不想要就診卡了,就可以注銷這個卡.此時患者的?份和就診卡的關聯就銷毀了.(類 似于?站的注銷操作)
  4. ?來看病,可以辦?張新的就診卡,此時就得到了?個新的"令牌"

此時在服務器這邊就需要記錄"令牌"信息,以及令牌對應的??信息,這個就是 Session 機制所做的?作

🎄理解Session

要理解Session,我們先來理解一下會話

在計算機領域,會話是?個客?與服務器之間的不中斷的請求響應.對客?的每個請求,服務器能夠識別出請求來?于同?個客?.

當?個未知的客?向Web應?程序發送第?個請求時就開始了?個會話.當客?明確結束會話或服務器在?個時限內沒有接受到客?的任何請求時,會話就結束了.

?如我們打客服電話
每次打客服電話,是?個會話.掛斷電話,會話就結束了
下次再打客服電話,?是?個新的會話.
如果我們?時間不說話,沒有新的請求,會話也會結束

服務器同?時刻收到的請求是很多的.服務器需要清楚的區分每個請求是從屬于哪個??,也就是屬于哪個會話,就需要在服務器這邊記錄每個會話以及與??的信息的對應關系.

Session是服務器為了保存??信息?創建的?個特殊的對象

Session的本質就是?個"哈希表",存儲了?些鍵值對結構.Key 就是SessionID,Value就是??信息(??信息可以根據需求靈活設計).

SessionId 是由服務器?成的?個"唯?性字符串",從Session機制的?度來看,這個唯?性字符串稱 為SessionId .但是站在整個登錄流程中看待,也可以把這個唯?性字符串稱為token .

上述例?中的令牌ID,就可以看做是SessionId,只不過令牌除了ID之外,還會帶?些其他信息,?如時 間,簽名等.

  1. 當??登陸的時候,服務器在 Session 中新增?個新記錄, 把 sessionId返回給客?端.(通過HTTP 響應中的 Set-Cookie 字段返回).
  2. 客?端后續再給服務器發送請求的時候,需要在請求中帶上sessionId.(通過HTTP請求中的Cookie字段帶上).
  3. 服務器收到請求之后,根據請求中的sessionId在Session信息中獲取到對應的??信息,再進?后續操作.找不到則重新創建Session,并把SessionID返回

Session 默認是保存在內存中的. 如果重啟服務器則 Session 數據就會丟失

🌳Cookie 和 Session 的區別

  • Cookie 是客?端保存??信息的?種機制.Session 是服務器端保存??信息的?種機制.
  • Cookie 和 Session之間主要是通過 SessionId 關聯起來的, SessionId是 Cookie 和 Session 之間的橋梁
  • Cookie 和 Session 經常會在?起配合使?. 但是不是必須配合
  • ? ? ? ? ?完全可以? Cookie 來保存?些數據在客?端.這些數據不?定是???份信息,也不?定? ? ? ? ? ?是SessionId
  • ? ? ? ? ?Session 中的sessionId 也不需要?得通過 Cookie/Set-Cookie 傳遞,?如通過URL傳遞

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/65503.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/65503.shtml
英文地址,請注明出處:http://en.pswp.cn/web/65503.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Oracle:ORA-00904: “10“: 標識符無效報錯詳解

1.報錯Oracle語句如下 SELECT YK_CKGY.ID,YK_CKGY.DJH,YK_CKGY.BLRQ,YK_CKGY.ZBRQ,YK_CKGY.SHRQ,YK_CKGY.YT,YK_CKGY.ZDR,YK_CKGY.SHR,YK_CKGY.BZ,YK_CKGY.JZRQ,YK_CKGY.ZT,YK_CKGY.CKLX,(case YK_CKGY.CKLXwhen 09 then藥房調借when 02 then科室退藥when 03 then損耗出庫when…

Linux 磁盤管理命令:使用xfs 管理命令

文章目錄 Linux磁盤管理命令使用xfs 管理命令1.命令說明2.建立 XFS 文件系統4.調整 XFS 文件系統各項參數5.在線調整 XFS 文件系統的大小6.暫停和恢復 XFS 文件系統7.嘗試修復受損的 XFS 文件系統8.備份和恢…

《Spring Framework實戰》3:概覽

歡迎觀看《Spring Framework實戰》視頻教程 Spring Framework 為基于現代 Java 的企業應用程序提供了全面的編程和配置模型 - 在任何類型的部署平臺上。 Spring 的一個關鍵要素是應用程序級別的基礎設施支持:Spring 專注于企業應用程序的 “管道”,以便…

借助免費GIS工具箱輕松實現las點云格式到3dtiles格式的轉換

在當今數字化浪潮下,地理信息系統(GIS)技術日新月異,廣泛滲透到城市規劃、地質勘探、文化遺產保護等諸多領域。而 GISBox 作為一款功能強大且易用的 GIS 工具箱,以輕量級、免費使用、操作便捷等諸多優勢,為…

均值濾波從圖像復原角度的解釋

廖老師說若將圖像生成看作一個隨機過程,均值濾波(Mean Filtering)可以視為在高斯噪聲模型下的線性最小均方估計(Linear Minimum Mean Squared Error, LMMSE)或者極大似然估計(Maximum Likelihood Estimatio…

高等數學學習筆記 ? 一元函數微分的基礎知識

1. 微分的定義 (1)定義:設函數在點的某領域內有定義,取附近的點,對應的函數值分別為和, 令,若可以表示成,則稱函數在點是可微的。 【 若函數在點是可微的,則可以表達為】…

linux之自動掛載

如果想要實現自動掛載,應該掛在客戶端!!!!! 客戶端: [rootlocalhost ~]# yum install nfs-utils -y (下載軟件) [rootlocalhost ~]# systemctl start nfs-utils.servic…

用戶界面軟件01

Jens Coldewey 著,Tom.X 譯 本文中的模式語言逐步深入地探討用戶界面架構的設計,它基于人機工程學,足以形成一套完整的體系。如果你對這方面有興趣,請參考[Tog92],[Coo95]和[Col95]。 本文不討論用戶界面的布局&…

Spring整合SpringMVC

目錄 【pom.xml】文件; 新建【applicationContext.xml】文件 新建【springmvc.xml】文件; 配置【src/main/webapp/WEB-INF/web.xml】文件; 新建【com.gupaoedu.service.IUserService】; 新建【com.gupaoedu.service.impl.Use…

【數據結構-堆】2233. K 次增加后的最大乘積

給你一個非負整數數組 nums 和一個整數 k 。每次操作,你可以選擇 nums 中 任一 元素并將它 增加 1 。 請你返回 至多 k 次操作后,能得到的 nums的 最大乘積 。由于答案可能很大,請你將答案對 109 7 取余后返回。 示例 1: 輸入&…

2025.1.8(c++對c語言的擴充——堆區空間,引用,函數)

筆記 上一筆記接續(練習2的答案) 練習:要求在堆區連續申請5個int的大小空間用于存儲5名學生的成績,分別完成空間的申請、成績的錄入、升序排序、成績輸出函數以及空間釋放函數,并在主程序中完成測試 要求使用new和d…

(長期更新)《零基礎入門 ArcGIS(ArcScene) 》實驗七----城市三維建模與分析(超超超詳細!!!)

城市三維建模與分析 三維城市模型已經成為一種非常普遍的地理空間數據資源,成為城市的必需品,對城市能化管理至關重要。語義信息豐富的三維城市模型可以有效實現不同領域數據與IS相信息的高層次集成及互操作,從而在城市規劃、環境模擬、應急響應和輔助決策等眾多領域公揮作用、…

在離線環境中安裝 `.rpm` 包的步驟

在一些環境中,可能無法直接通過網絡安裝軟件包。特別是在沒有互聯網連接的情況下,我們仍然可以手動下載 .rpm 安裝包并進行離線安裝。本文將介紹如何在離線環境中安裝多個 .rpm 包,確保軟件的順利安裝和依賴關系的處理。 1. 將 .rpm 文件復制…

【人工智能開題報告】

人工智能開題報告 第一步 12 篇文獻 應用(研究)領域歷史、現狀、發展趨勢以及對社會、環境、健康、安全等方面的影響分析第二步 15篇 應用(研究)領域中的 工作成果簡述2.1 國外 6篇2.2 國內 9篇 第三步 9/10篇 研究方案 的分析與選…

Harmony開發【筆記1】報錯解決(字段名寫錯了。。)

在利用axios從網絡接收請求時,發現返回obj的code為“-1”,非常不解,利用console.log測試,更加不解,可知拋出錯誤是 “ E 其他錯誤: userName required”。但是我在測試時,它并沒有體現為空,…

(2023|NIPS,LLaVA-Med,生物醫學 VLM,GPT-4 生成自指導指令跟隨數據集,數據對齊,指令調優)

LLaVA-Med: Training a Large Language-and-Vision Assistant for Biomedicine in One Day 目錄 LLaVA-Med: Training a Large Language-and-Vision Assistant for Biomedicine in One Day 0. 摘要 1. 簡介 2. 相關工作 3. 生物醫學視覺指令數據 4. 將多模態對話模型適配…

什么是網絡安全攻防演練,即紅藍對抗?

定義與目的 定義:網絡安全攻防演練是一種模擬真實網絡攻擊和防御場景的活動,通過組織專業的攻擊隊伍(紅隊)和防御隊伍(藍隊)進行對抗,來檢驗和提升組織的網絡安全防御能力、應急響應能力和安全運…

(概率論)無偏估計

參考文章:(15 封私信 / 51 條消息) 什么是無偏估計? - 知乎 (zhihu.com) 首先,第一個回答中,馬同學圖解數學講解得很形象, 我的概括是:“注意,有一個總體的均值u。然后,如果抽樣n個&…

國產游戲崛起,燕云十六移動端1.9上線,ToDesk云電腦先開玩

游戲愛好者的利好消息出新了!網易大型武俠仙游《燕云十六聲》正式官宣,移動端要在1月9日正式上線了!你期待手游版的燕云嗎?不妨評論區留言說說你的看法。小編分別花了幾個小時在臺式機電腦和手機上都試了下,欣賞畫面還…

一文大白話講清楚ES6代理Proxy和反射Reflect

文章目錄 一文大白話講清楚ES6代理Proxy和反射Reflect1. 你當過老板么2.代理Proxy2.1 get(target,propKey,receiver)//獲取對象的屬性2.2 set(target,propKey,newValue,receiver)//設置屬性的值2.3 has(target,propKey)//代理查詢屬性操作,propKey in obj的操作2.4 …