看下session存儲的執行過程:服務器
當用戶請求servlet,servlet會首先查看客戶端cookie中是否有sessionID,若是有則證實是舊的會話,cookie
那麼就經過cookie將sessionID發送到服務器,服務器就會根據sessionID到服務器的內存中查找session
session對象(由於每一個session都會有一個sessionID來標識session對象),找到以後而後使用。spa
若是cookie中沒有sessionID這證實是一個新的會話。服務器就會建立一個新的Session對象,orm
而後將SessionID存放早cookie中,經過cookie把sessionID發送到客戶端。客戶端下一次訪問的時候,對象
就會將SessionID發送到服務器以便再次找到這個session對象,完成會話跟蹤因此若是用戶將cookie關閉內存
session也將會失效。session是依賴與cookie的。servlet
與cookie的區別與聯繫:cookie在客戶端保存用戶的信息,而session在服務器上保存客戶的信息it
session依賴於cookie。若是用戶關閉cookie,則session失效,io
緣由是sessionID沒法從客戶端傳遞到服務端,也不能從服務端傳遞到客戶端.