分享我的session的工作原理 什么是session原理 ?

Session 工作原理
1、創建Session
當用戶訪問到一個服務器 , 如果服務器啟用Session , 服務器就要為該用戶創建一個SESSION , 在創建這個SESSION的時候 , 服務器首先檢查這個用戶發來的請求里是否包含了一個SESSION ID , 如果包含了一個SESSION ID則說明之前該用戶已經登陸過并為此用戶創建過SESSION , 那服務器就按照這個SESSION ID把這個SESSION在服務器的內存中查找出來 , 如果客戶端請求里不包含有SESSION ID , 則為該客戶端創建一個SESSION并生成一個與此SESSION相關的SESSION ID 。 這個SESSION ID是唯一的、不重復的、不容易找到規律的字符串 , 這個SESSION ID將被在本次響應中返回到客戶端保存 , 而保存這個SESSION ID的正是COOKIE , 這樣在交互過程中瀏覽器可以自動的按照規則把這個標識發送給服務器 。
2、使用Session
我們知道在IE中 , 我們可以在工具的Internet選項中把Cookie禁止 , 那么會不會出現把客戶端的Cookie禁止了 , 那么SESSIONID就無法再用了呢?找了一些資料說明 , 可以有其他機制在COOKIE被禁止時仍然能夠把Session id傳遞回服務器 。
經常被使用的一種技術叫做URL重寫 , 就是把Session id直接附加在URL路徑的后面一種是作為URL路徑的附加信息 , 表現形式為:
http://… 。 /xxx;jSession=ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zWpBng!-145788764;另一種是作為查詢字符串附加在URL后面 , 表現形式為:
http://… 。 。 /xxx?jSession=ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zWpBng!-145788764還有一種就是表單隱藏字段 。 就是服務器會自動修改表單 , 添加一個隱藏字段 , 以便在表單提交時能夠把Session id傳遞回服務器 。
Session作用
【分享我的session的工作原理 什么是session原理 ?】Session的根本作用就是在服務端存儲用戶和服務器會話的一些信息 。 典型的應用有:
1、判斷用戶是否登錄 。
2、購物車功能 。
Session實例問題
現有系統A , B; 假設A系統是可以獨立運行的web系統 , 即可以和瀏覽器直接處理session , B系統是基于mobile的 , 需要調用A系統的功能接口 ,
在保持A不改變的情況下 , 即登陸驗證 , session存儲都不變的情況下 , B系統能處理前端用戶的請求 。
這里提供的方案是使用PHP實現
在用戶登陸成功后 , 將保存的session的session-id返回給B系統 , 然后B系統每次請求其他接口都帶session_id 。
A系統在session_start前加上session_id(session_id);
這樣B系統就能安全的調用A

    推薦閱讀