Cookie 和session淺了解

2021-07-29 09:41:24 字數 915 閱讀 7584

refer

http 是無狀態的協議,cookie和session都是為了保持瀏覽器和伺服器連線的連續性,不同的是cookie是儲存在瀏覽器,而session是儲存在伺服器上。因此從安全性上來說,cookie要較session更差。因為客戶端的其它程式是可接近,盜用,或篡改儲存在硬碟上的cookies檔案的。而session儲存在自己的伺服器上,不容易被其它程式所獲取。從效能上來說,採用cookie儲存會話的方式,使瀏覽器每次向伺服器請求都需要在請求體中帶上cookie,當cookie具有一定大小,且請求量很大時,會造成頻寬的浪費而且影響效能。session則是每次請求帶上乙個伺服器返回的sessionid即可,sessionid的大小肯定是小於等於cookie的大小的。但是多個的請求,需要在伺服器上儲存多個客戶端的資料,對於服務端的儲存方面要求較高。從保持會話時長來說,cookie由於是客戶端儲存,所以可以設定儲存時長,一般預設有效期是直到瀏覽器被關閉的時候,此時cookie的儲存只在記憶體中。若設定儲存時長maxage為大於零的數,則其會以檔案形式儲存在硬碟上。並且會檢測時間是否查過maxage的設定,如未則一直有效。session儲存在伺服器,其有效時長的配置是在伺服器上。session的生命週期一般是瀏覽器視窗關閉便結束,但是為了定期釋放伺服器的空間,減小儲存壓力,大多**都會設定,會話處於非活動狀態20或30分鐘就會清除伺服器上的session資料,此時即使瀏覽器的視窗並未關閉,再次請求時仍需重新生成session資料。從使用性來說,cookie的弊端在於其需要客戶端支援cookie方式或開啟cookie方式,大多數手機瀏覽器都不支援cookie. session的話,主要是當客戶端訪問的資料儲存在不同的伺服器上時,這個session資料共享問題。不過是說採用資料庫的方式就好。

如此看,cookie和session皆有優劣,所以在平常的應用場景中都是結合使用。如,需要記住密碼一段時間,則該使用者名稱和密碼或其它就可以已cookie的方式儲存在客戶端中。

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機制來達到儲存標識的目...