session筆記(待完善)

2021-10-01 01:31:11 字數 1403 閱讀 2603

什麼是session

為什麼要用session

怎麼用

在計算機專業術語中,session是指乙個終端使用者與互動系統進行通訊的時間間隔,通常指從註冊進入系統到登出退出系統之間所經過的時間。

容易理解的就是:一次瀏覽器和伺服器的互動的會話,我開啟網頁,網頁向伺服器傳送了請求,伺服器再響應回來,就發生了一次會話。

開啟網頁,訪問**,就要遵守別人定的規則,開啟網頁就用到了http協議,超文字傳輸協議,無狀態協議,就是說這些這一次請求和上一次請求是沒有任何關係的,互不認識的,沒有關聯的。但是這種無狀態的的好處是快速。

所以就會帶來乙個問題就是,我希望幾個請求的頁面要有關聯,比如:我在www.a.com/login.php裡面登陸了,我在www.a.com/index.php 也希望是登陸狀態,但是,這是2個不同的頁面,也就是2個不同的http請求,這2個http請求是無狀態的,也就是無關聯的,所以無法單純的在index.php中讀取到它在login.php中已經登陸了!

那咋搞呢?我不可能這2個頁面我都去登陸一遍吧。或者用笨方法這2個頁面都去查詢資料庫,如果有登陸狀態,就判斷是登陸的了。這種查詢資料庫的方案雖然可行,但是每次都要去查詢資料庫不是個事,會造成資料庫的壓力。

所以正是這種訴求,這個時候,乙個新的客戶端儲存資料方式出現了:cookie。cookie是把少量的資訊儲存在使用者自己的電腦上,它在乙個網域名稱下是乙個全域性的,只要設定它的儲存路徑在網域名稱www.a.com下

,那麼當使用者用瀏覽器訪問時,php就可以從這個網域名稱的任意頁面讀取cookie中的資訊。所以就很好的解決了我在www.a.com/login.php頁面登陸了,我也可以在www.a.com/index.php獲取到這個登陸資訊了。同時又不用反覆去查詢資料庫。

雖然這種方案很不錯,也很快速方便,但是由於cookie

是存在使用者端,而且它本身儲存的尺寸大小也有限,最關鍵是使用者可以是可見的,並可以隨意的修改,很不安全。那如何又要安全,又可以方便的全域性讀取資訊呢?於是,這個時候,一種新的儲存會話機制:session

誕生了。

cookie 是 儲存在客戶端(遊覽器)的會話,session是儲存在伺服器端的

//session的使用:

//獲取從前端傳入的資料:

user user = (user) session.getattribute("user");

integer id = 0;

if (user == null) else {

id = user.getuserid();

內容待完善

SpringBoot個人筆記 待完善

1.1 springboot是什麼?自動裝配 原理重要 spring boot的主要優點 為所有spring開發者更快的入門 開箱即用,提供各種預設配置來簡化專案配置 內嵌式容器簡化web專案 沒有冗餘 生成和xml配置的要求 程式 資料結構 演算法 集合框架 程式猿 程式 物件導向 框架 碼農 m...

diff命令 待完善

diff命令在最簡單的情況下,比較給定的兩個檔案的不同。如果使用 代替 檔案 引數,則要比較的內容將來自標準輸入。diff命令是以逐行的方式,比較文字檔案的異同處。如果該命令指定進行目錄的比較,則將會比較該目錄中具有相同檔名的檔案,而不會對其子目錄檔案進行任何比較操作。來自 diff命令在最簡單的情...

頁面效能 待完善

本文是學習慕課網上課程前端跳槽面試必備技巧的學習筆記,便於之後複習。本文說明頁面效能的方法 資源壓縮合併,減少http請求 非核心 非同步載入 非同步載入的方式 非同步載入的區別 利用瀏覽器快取 很關鍵的一步 快取的分類 快取的原理 使用cdn 預解析dns 標籤在很多瀏覽器中預設開啟預解析 如果是...