Session和Cookie介紹與對比

2021-08-20 15:15:14 字數 985 閱讀 8676

有兩個http頭部是專門負責設定以及傳送cookie的,它們分別是set-cookie(指示客戶端建立乙個cookie,並且在後續的http請求中自動傳送這個cookie到伺服器端,直到這個cookie過期)以及cookie(客戶端傳送時將資訊加在http的cookie頭部中)。

maxage為0,則表示刪除該cookie。

maxage為正數(秒),則表示在該時間內cookie有效。

有效期:為防止記憶體溢位,伺服器會把長時間內沒有活躍的session從記憶體刪除。這個時間就是session的超時時間。如果超過了超時時間沒訪問過伺服器,session就自動失效了。

session的識別:http協議是無狀態的,session需要使用cookie作為識別標誌。伺服器向客戶端瀏覽器傳送乙個名為jsessionid的cookie,它的值為該session的id(也就是httpsession.getid()的返回值)。session依據該cookie來識別是否為同一使用者。該cookie為伺服器自動生成的,它的maxage屬性一般為–1,表示僅當前瀏覽器內有效,並且各瀏覽器視窗間(除了子視窗)不共享,關閉瀏覽器就會失效。因此同一機器的兩個瀏覽器視窗(除了子視窗)訪問伺服器時,會生成兩個不同的session。

客戶端不支援cookie時:url位址重寫,將該使用者session的id資訊重寫到url位址中。伺服器能夠解析重寫後的url獲取session的id。
cookie不是很安全,別人可以分析存放在本地的cookie並進行cookie欺騙,考慮到安全應當使用session。

session會在一定時間內儲存在伺服器上。當訪問增多,會比較占用你伺服器的效能,考慮到減輕伺服器效能方面,應當使用cookie。

單個cookie儲存的資料不能超過4k,很多瀏覽器都限制乙個站點最多儲存20個cookie。

所以登陸資訊等重要資訊存放為session,其他資訊如果需要保留,可以放在cookie中。

十五 Cookie和Session的簡單介紹

1.cookie出現的原因,在 中,http的請求是無效的,也就是說即使第一次和伺服器連線成功後並且登入成功後,第二次請求伺服器依然不知道當前請求是那個使用者,cookie的出現就是為了解決這個問題,第一次登入成功後,伺服器會返回一些資料 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...