session和cookie的區別

2021-08-08 15:54:54 字數 1835 閱讀 3800

session在什麼時候被建立呢,確切的說是通過呼叫

getsession()

來建立,這就是

session

與cookie

的區別。

訪問html頁面是不會建立

session

,但是訪問

index.jsp

時會建立

session(jsp

實際上是乙個

servlet

,servlet

中有getsession方法)

。 session是儲存在伺服器端,

cookie

是儲存在客戶端的,所以從安全來講

session

的安全性要比

cookie

高,然後我們獲取

session

裡的資訊是通過存放在會話

cookie

裡的sessionid

獲取的。又由於

session

是存放在伺服器的記憶體中,所以

session

裡的東西不斷增加會造成伺服器的負擔,所以需要把很重要的資訊才儲存在

session

中,而把一些次要東西儲存在客戶端的

cookie

裡,然後

cookie

確切的說分為兩大類分為會話

cookie

和持久化

cookie

,會話cookie

確切的說是,存放在客戶端瀏覽器的記憶體中

,所以說他的生命週期和瀏覽器是一致的,瀏覽器關了會話

cookie

也就消失了,然而持久化

cookie

是存放在客戶端硬碟中,而持久化

cookie

的生命週期就是我們在設定

cookie

時候設定的那個儲存時間,然後我們考慮一問題當瀏覽器關閉時

session

會不會丟失,從上面敘述分析

session

的資訊是通過會話

cookie

的sessionid

獲取的,當瀏覽器關閉的時候會話

cookie

消失所以我們的

sessionid

也就消失了,但是

session

的資訊還存在伺服器端,這時我們只是查不到所謂的

session

但它並不是不存在。那麼,

session

在什麼情況下丟失,就是在伺服器關閉的時候,或者是

session過期(

預設時間是

30分鐘

),再或者呼叫了

invalidate()

的或者是我們想要

session

中的某一條資料消失呼叫

session.removeattribute()

方法, cookie

極高的擴充套件性和可用性

通過良好的程式設計,控制儲存在cookie中的session物件的大小。只在cookie中存放不敏感資料,即使被盜也不會有重大損失。

控制cookie的生命期,使之不會永遠有效。偷盜者很可能拿到乙個過期的cookie。

缺點:cookie數量和長度的限制。每個domain最多只能有20條cookie,每個cookie長度不能超過4kb,否則會被截掉。

安全性問題。如果cookie被人攔截了,那人就可以取得所有的session資訊。即使加密也與事無補,因為攔截者並不需要知道cookie的意義,他只要原樣**cookie就可以達到目的了。

有些狀態不可能儲存在客戶端。例如,為了防止重複提交表單,我們需要在伺服器端儲存乙個計數器。如果我們把這個計數器儲存在客戶端,那麼它起不到任何作用。

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機制採用的是在伺服器端保持狀態的方案。同時我...