在**中,http是一種無狀態的協議,為了分辨連線是誰發起的,需要自己解決這個問題。也就是說即使第一次和伺服器連線後並且登入成功後,第二次請求伺服器依然不能知道當前請求是哪個使用者,而session和cookie就是為解決這個問題而提出來的兩個機制。
cookie的出現就是為了解決這個問題,第一次登陸後伺服器會返回一些資料給瀏覽器,瀏覽器會把該資訊儲存在本地,當該使用者傳送第二次請求的時候,就會自動的把上次的請求儲存的cookie資料提交給伺服器,伺服器就會通過瀏覽器中的cookie資料判斷當前是哪個使用者。如同乙個狀態記錄的賬本,準確的說法是:cookies是伺服器在本地機器上儲存的小段文字並隨每乙個請求傳送至同一伺服器,是在客戶端保持狀態的方案。
路徑與域一起構成cookie的作用範圍。若不設定過期時間,則表示這個cookie的生命期為瀏覽器會話期間,關閉瀏覽器視窗,cookie就消失。這種生命期為瀏覽器會話期的cookie被稱為會話cookie。會話cookie一般不儲存在硬碟上而是儲存在記憶體裡,當然這種行為並不是規範規定的。若設定了過期時間,瀏覽器就會把cookie儲存到硬碟上,關閉後再次開啟瀏覽器,這些cookie仍然有效直到超過設定的過期時間。儲存在硬碟上的cookie可以在不同的瀏覽器程序間共享,比如兩個ie視窗。而對於儲存在記憶體裡的cookie,不同的瀏覽器有不同的處理方式。路徑和域就是對應的網域名稱,a**的cookie自然不能給b用。cookie儲存登的數量有限,不同的瀏覽器有不同得我儲存大小,一般不超過4kb,所有cookie只能儲存一些小量的資料。
session和cookie的作用相似,都是為了儲存使用者相關的資訊。不同的是,cookie是儲存在本地瀏覽器,而session儲存在伺服器。儲存在伺服器的資料會更加安全,不容易被竊取,但是對伺服器也有一定弊端,會占用伺服器的資源。
瀏覽器第二次傳送請求會將前一次伺服器響應中的session id放在請求中一併發送到伺服器上,伺服器從請求中提取出session id,並和儲存的所有session id進行對比,找到這個使用者對應的hashtable。 一般這個值會有個時間限制,超時後毀掉這個值,預設30分鐘。當使用者在應用程式的 web頁間跳轉時,儲存在 session 物件中的變數不會丟失而是在整個使用者會話中一直存在下去。session的實現方式和cookie有一定關係。建立乙個連線就生成乙個session id,開啟幾個頁面就好幾個了,這裡就用到了cookie,把session id存在cookie中,每次訪問的時候將session id帶過去就可以識別。
cookie資料存放在客戶的瀏覽器上,session資料放在伺服器上。
cookie不是很安全,別人可以分析存放在本地的cookie並進行cookie欺騙考慮到安全應當使用session。
session會在一定時間內儲存在伺服器上。當訪問增多,會比較占用你伺服器的效能考慮到減輕伺服器效能方面,應當使用cookie。
單個cookie儲存的資料不能超過4k,很多瀏覽器都限制乙個站點最多儲存20個cookie。
建議:將登陸資訊等重要資訊存放為session,其他資訊如果需要保留,可以放在cookie中
儲存在服務端:通過cookie儲存乙個session_id,然後具體的資料則是儲存在session中。如果使用者已經登入,則伺服器 會在cookie中儲存乙個session_id,下次再次請求的時候,會把該session_id攜帶上來,伺服器根據session_id在session庫中獲取使用者的session資料。就能知道該使用者到底是誰,以及之前儲存的一些狀態資訊。這種專業術語叫做server side session。
2、將session資料加密,然後儲存在cookie中。這種專業術語叫做client side session。
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機制採用的是在伺服器端保持狀態的方案。同時我...