cookie和session必須了解的東西

2022-03-02 07:43:24 字數 1063 閱讀 1433

cookie的機制

cookie是瀏覽器(user agent)訪問一些**後,這些**存放在客戶端的一組資料,用於使**等跟蹤使用者,實現使用者自定義功能。

cookie的domain和path屬性標識了這個cookie是哪乙個**傳送給瀏覽器的;cookie的expires屬性標識了cookie的有 效時間,當cookie的有效時間過了之後,這些資料就被自動刪除了。

如果不設定過期時間,則表示這個cookie生命週期為瀏覽器會話期間,只要關閉瀏覽器視窗,cookie就消失了。這種生命期為瀏覽會話期的 cookie被稱為會話cookie。會話cookie一般不儲存在硬碟上而是儲存在記憶體裡。如果設定了過期時間,瀏覽器就會把cookie儲存到硬碟 上,關閉後再次開啟瀏覽器,這些cookie依然有效直到超過設定的過期時間。儲存在硬碟上的cookie可以在不同的瀏覽器程序間共享,比如兩個ie窗 口。而對於儲存在記憶體的cookie,不同的瀏覽器有不同的處理方式。

session的機制

session是存放在伺服器端的類似於hashtable結構(每一種web開發技術的實現可能不一樣,下文直接稱之為hashtable)來存放使用者資料,當瀏覽器第一次傳送請求時,伺服器自動生成了乙個hashtable和乙個session id用來唯一標識這個hashtable,並將其通過響應傳送到瀏覽器。當瀏覽器第二次傳送請求,會將前一次伺服器響應中的session id放在請求中一併發送到伺服器上,伺服器從請求中提取出session id,並和儲存的所有session id進行對比,找到這個使用者對應的hashtable。

一般情況下,伺服器會在一定時間內(預設20分鐘)儲存這個hashtable,過了時間限制,就會銷毀這個hashtable。在銷毀之前,程式設計師可以 將使用者的一些資料以key和value的形式暫時存放在這個hashtable中。當然,也有使用資料庫將這個hashtable序列化後儲存起來的,這 樣的好處是沒了時間的限制,壞處是隨著時間的增加,這個資料庫會急速膨脹,特別是訪問量增加的時候。一般還是採取前一種方式,以減輕伺服器壓力。

cookie和session和token是什麼?

什麼是session?什麼是cookie?什麼是token?1 cookie?由於http是一種無狀態協議,伺服器沒有辦法單單從網路連線上面知道訪問者的身份,為了解決這個問題,就誕生了cookie cookie實際上是一小段的4k文字資訊。客戶端請求伺服器,如果伺服器需要記錄該使用者狀態,就使用re...

Session和Cookie的區別

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

cookie和session的區別

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