cookie與session的自己思考與解釋

2021-10-12 03:04:25 字數 559 閱讀 3167

http協議本身 是無狀態的,那麼 服務端是如何區分不同使用者的呢?比如使用者點選購商品新增到購物車中,就必須知道是哪個使用者,即他之前的狀態是什麼?

實際上http使用cookie與session來確定狀態。當使用者客戶端進行連線後,**伺服器就會生成cookie並返回給客戶端(set-cookie header欄位),客戶端會在本地生成cookie,那麼之後此cookie就可以當做此使用者在此**的身份碼,這樣其以後一系列的使用者行為就會被記錄。

那麼cookie 與session有什麼聯絡呢?

我之前看過乙個小故事:顧客與店家存在消費與被消費的關係,店家想出乙個**手段,消費滿10次贈送商品。那麼不同的顧客如何區分,每個顧客的狀態如何記錄?一種解決方案:店家儲存客戶的所有資訊,只是給你乙個id,你每次來消費報id就好,到時候滿足條件自動給你送。另一種解決方案:客戶自己記錄 ,然後每次消費前都說出消費多少次,然後店家根據次數決定是否贈與商品。

session 意為會話,就是在一段時間內的多次請求應答,session是在服務端記錄使用者行為的方法,cookie是其一種實現手段。

cookie與session的關聯

前提 cookie沒有被禁用。當用瀏覽器登入到某 伺服器時,先找對應的cookie檔案,當首次訪問是當然沒有cookie檔案,所以在請求頭部中沒有cookie的內容,即在請求頭部中沒有類似cookie jsessionid 的內容,這時當請求到達伺服器後,伺服器看請求頭中沒有jsessionid值,...

session與cookie的區別

讓我們用幾個例子來描述一下cookie和session機制之間的區別與聯絡。筆者曾經常去的一家咖啡店有喝5杯咖啡免費贈一杯咖啡的優惠,然而一次性消費5杯咖啡的機會微乎其微,這時就需要某種方式來紀錄某位顧客的消費數量。想象一下其實也無外乎下面的幾種方案 1 該店的店員很厲害,能記住每位顧客的消費數量,...

session與cookie的區別

1 session儲存在伺服器,客戶端不知道其中的資訊 cookie儲存在客戶端,伺服器能夠知道其中的資訊。2 session中儲存的是物件,cookie中儲存的是字串。3 session不能區分路徑,同乙個使用者在訪問乙個 期間,所有的session在任何乙個地方都可以訪問到。而cookie中如果...