1. 程式人生 > >Cookie與Session 的區別,cookie被禁用,session是否還可以被使用?

Cookie與Session 的區別,cookie被禁用,session是否還可以被使用?

什麼是Cookie,什麼是cookie會話機制?cookie與session的區別(這裡寫自定義目錄標題)

 cookie的內容主要包括:名字,值,過期時間,路徑和域。路徑與域一起構成cookie的作用範圍。

若不設定過期時間,則表示這個cookie的生命期為瀏覽器會話期間,關閉瀏覽器視窗,cookie就消失。這段期間,被稱為會話cookie。會話cookie一般不儲存在硬碟上而是儲存在記憶體裡,當然這種行為並不是規範規定的。
若設定了過期時間,瀏覽器就會把cookie儲存到硬碟上,關閉後再次開啟瀏覽器,這些cookie仍然有效直到超過設定的過期時間。儲存在硬碟上的cookie可以在不同的瀏覽器程序間共享,比如兩個IE視窗。而對於儲存在記憶體裡的cookie,不同的瀏覽器有不同的處理方式。
#什麼是session?什麼是session的儲存原理?

      **session機制。session機制是一種伺服器端的機制,伺服器使用一種類似於散列表的結構(也可能就是使用散列表)來儲存資訊。**

    當程式需要為某個客戶端的請求建立一個session時,伺服器首先檢查這個客戶端的請求裡是否已包含了一個session標識,(稱為session id),如果已包含則說明以前已經為此客戶端建立過session,伺服器就按照session id把這個session檢索出來

使用(檢索不到,會新建一個),如果客戶端請求不包含session id,則為此客戶端建立一個session並且生成一個與此session相關聯的session id,session id的值應該是一個既不會重複,又不容易被找到規律以仿造的字串,這個session id將被在本次響應
中返回給客戶端cookie儲存。但cookie可以被人為的禁止,則必須有其他機制以便在cookie被禁止時
仍然能夠把session id傳遞迴伺服器。
[
區別:
我做電商專案的時候重點的去了解了Session與cookie的區別,先舉例一個應用場景:登入網站,今天使用者輸入使用者名稱、密碼登入了,第二天再開啟很多情況下就直接打開了。這個時候用到的一個會話機制就是cookie。
session一個場景是購物車,添加了商品之後客戶端處可以知道添加了哪些商品,而伺服器端如何判別呢,所以也需要儲存一些資訊就用到了session。
*
1、cookie 資料存放在客戶的瀏覽器上,session 資料放在伺服器上。

2、cookie 不是很安全,別人可以分析存放在本地的 COOKIE 並進行 COOKIE 欺騙 考慮到安全應當使用 session。
3、session 會在一定時間內儲存在伺服器上。當訪問增多,會比較佔用你伺服器的效能 考慮到減輕伺服器效能方面,應當使用 COOKIE。
4、單個 cookie 儲存的資料不能超過 4K,很多瀏覽器都限制一個站點最多儲存 20 個 cookie。
5、所以個人建議: 將登陸資訊等重要資訊存放為 SESSION, 其他資訊如果需要保留,可以放在 COOKIE 中

 不可以使用:因為Session是用Session ID來確定當前對話所對應的伺服器Session,而Session ID是通過Cookie來傳遞的,禁用Cookie相當於失去了Session ID,也就得不到Session了。