cookie和session的區別,個人理解

2021-10-07 01:24:14 字數 1343 閱讀 8020

今天在刷牛客網前端面試題庫時,突然看到乙個問題,cookie和session的區別?說實話這個我還真沒想過,可是牛客網給的解釋卻很模糊。看的我一頭霧水

cookie是由伺服器端生成,傳送給user-agent(一般是瀏覽器),(伺服器告訴瀏覽器設定一下cookie),瀏覽器自動會將cookie以key/value儲存到某個目錄下的文字檔案內,下次請求同一**時也會自動傳送該cookie給伺服器,即新增在請求頭部(前提是瀏覽器設定為啟用cookie)。

說人話就是,web應用程式是使用http協議傳輸資料的。http協議是無狀態的協議。一旦資料交換完畢,客戶端與伺服器端的連線就會關閉,再次交換資料需要建立新的連線。而cookie就是能儲存一些必要資訊,讓我們下一次請求時,伺服器直接從cookie中讀取資訊驗證我們的身份。也就是說,你登入乙個**,下次登陸就不用再輸入賬戶密碼了。

那麼問題來了,什麼時session呢?

在計算機中,尤其是在網路應用中,稱為「會話控制」。session物件儲存特定使用者會話所需的屬性及配置資訊。這樣,當使用者在應用程式的web頁之間跳轉時,儲存在session物件中的變數將不會丟失,而是在整個使用者會話中一直存在下去。當使用者請求來自應用程式的 web頁時,如果該使用者還沒有會話,則web伺服器將自動建立乙個 session物件。當會話過期或被放棄後,伺服器將終止該會話。

說人話就是,session的出現還是因為http是無狀態的。先解釋一下session的作用。當你訪問伺服器的時候,再你的瀏覽器中開啟某個頁面,這時候伺服器會自動生成乙個空間存放你的session,記錄你的資訊,這樣的話,你再跳轉頁面後,伺服器就能通過session獲得你的資訊。好比說,你再登入乙個**後,進入首頁或者進入其他頁面,伺服器還是能知道你的資訊。

1.存放位置不同,cookie是存在你的本地的,而session是存在伺服器上的

2.第二個不同就要用到牛客網解釋裡提到的session id了,session id又是什麼呢?字面意思就是伺服器中每個session都有的乙個獨特的id。這樣能保證伺服器知道你是哪個頁面對於的session。而session id是可以通過cookie實現的,將session id存放在cookie中。

session是伺服器端用於驗證使用者許可權的一把鑰匙,存於服務端,在進行資料互動時使用的,我們經常遇到的登入失效這一類場景,就是因為session在中間起到了作用。

cookie是儲存在本地的資料,可以簡單地理解,在頁面中輸入賬號,自動彈出密碼,這個密碼之所以會彈出就是因為本地cookie的原因,包括歷史記錄這些,之所以會有記錄,就是因為內容儲存在本地的cookie檔案中。

Session和Cookie的區別

session和cookie的區別 1 儲存的位置不同 session儲存在伺服器端的記憶體中,占用伺服器資源。cookie是儲存在客戶端。可以是瀏覽器中或者是檔案中 2 儲存的時間不同 session是關閉當前會話相關瀏覽器後自動清空。cookie是根據過期時間而會有不同。3 安全性不同 sess...

cookie和session的區別

一 cookie機制和session機制的區別 具體來說cookie機制採用的是在客戶端保持狀態的方案,而session機制採用的是在伺服器端保持狀態的方案。同時我們也看到,由於在伺服器端保持狀態的方案在客戶端也需要儲存乙個標識,所以session機制可能需要借助於cookie機制來達到儲存標識的目...

cookie和session的區別

分類 計算機網路 2011 10 21 10 43 4785人閱讀收藏 舉報 session 瀏覽器伺服器 servlet url儲存 一 cookie機制和session機制的區別 具體來說cookie機制採用的是在客戶端保持狀態的方案,而session機制採用的是在伺服器端保持狀態的方案。同時我...