cooike和session到底是個啥

2022-03-14 13:17:15 字數 854 閱讀 9183

1、為什麼需要cookie ?  cookie不屬於http協議範圍,由於http協議無法保持狀態,即無狀態屬性。但實際情況,我們卻又需要「保持狀態」,因此cookie就是在這樣乙個場景下誕生。

cookie的工作原理是:由伺服器產生內容,瀏覽器收到請求後儲存在本地;當瀏覽器再次訪問時,瀏覽器會自動帶上cookie,這樣伺服器就能通過cookie的內容來判斷這個是「誰」了。所以我們就可以看到,cookie是瀏覽器儲存到本地的文字,最大支援4096位元組。

2、cookie雖然在一定程度上解決了「保持狀態」的需求,但是由於cookie本身最大支援4096位元組,以及cookie本身儲存在客戶端,可能被攔截或竊取,因此就需要有一種新的東西,它能支援更多的位元組,並且他儲存在伺服器,有較高的安全性。這就是session。

問題來了,基於http協議的無狀態特徵,伺服器根本就不知道訪問者是「誰」。那麼上述的cookie就起到橋接的作用。

我們可以給每個客戶端的cookie分配乙個唯一的id,這樣使用者在訪問時,通過cookie,伺服器就知道來的人是「誰」。然後我們再根據不同的cookie的id,在伺服器上儲存一段時間的私密資料,如「賬號密碼」等等。

3、總結而言:cookie彌補了http無狀態的不足,讓伺服器知道來的人是「誰」;但是cookie以文字的形式儲存在本地,自身安全性較差;所以我們就通過cookie識別不同的使用者,對應的在session裡儲存私密的資訊以及超過4096位元組的文字。

4、另外,上述所說的cookie和session其實是共通性的東西,不限於語言和框架。

所以,我們知道了:

cookie是伺服器產生,瀏覽器儲存到本地的乙個文字。最大支援4096位元組

session是儲存在伺服器,文字超過4096位元組的文字,目的提高cookie的安全性

黏性Session和非黏性Session

黏性session和非黏性session 黏性session 此模式下同一會話中的請求都被派送到同乙個tomcat例項上,這樣我們就無須在多台伺服器之間實現session共享了,這是其好處,不好的地方就是不能實現failureover了,一但使用者訪問的機器掛掉,那麼其session就會丟失。非黏性...

cookies,cache和session的區別

1.cookies 是乙個小檔案,裡面存了鍵值對,它通常用於儲存較短時間所需的資訊,儲存在瀏覽器上。有乙個過期的時間限制。每個請求都有cookies 網頁傳送乙個請求到server端,有三種方式返回內容。1 200,從server端返回。2 如果是200 cache 從瀏覽器cache取得資料,並且...

python cookie和session及其運用

一 cookie及其用法 cookie是使用者登入後響應資訊 response headers 中的資料。是伺服器為了標記使用者,儲存在使用者本地的資料。裡面儲存了使用者的登入資訊,具有一定的時效性,會失效。response 200 意味著伺服器接收到並響應了登入請求,登入成功。提取cookie c...