1. 程式人生 > 其它 >關於http的無狀態管理以及session和cookie

關於http的無狀態管理以及session和cookie

 HTTP協議模式下,瀏覽器訪問伺服器資料,一旦資料成功響應,客戶端和伺服器之間的連線就會斷開,保

持連線的狀態也就斷開,所以說HTTP協議是一種無狀態協議; 什麼意思?資料響應成功連線就斷開? 我來舉個例子你們就懂了 登入一個網站 輸入賬號密碼 好 登入成功了,啪!連線就斷開了,下一秒,啪!斷網了 ,一秒鐘後,啪!網路重新連結上來了 然後你發現你又要重新輸入賬號密碼 哈哈哈; 因此session和cookie應運而生,幹嘛的?快取; cookie: 客戶端請求伺服器,如果伺服器需要記錄該使用者狀態,就使用response向客戶端瀏覽器頒發一個Cookie。 客戶端瀏覽器會把Cookie儲存起來。當瀏覽器再請求該網站時,瀏覽器把請求的網址連同該Cookie一同提交給伺服器。伺服器檢查該Cookie,以此來辨認使用者狀態; session: Session是另一種記錄客戶狀態的機制,不同的是Cookie儲存在客戶端瀏覽器中,而Session儲存在伺服器上。 客戶端瀏覽器訪問伺服器的時候,伺服器把客戶端資訊以某種形式記錄在伺服器上。這就是Session。客戶端瀏覽器再次訪問時只需要從該Session中查詢該客戶的狀態就可以了。   形象的來說cookie是伺服器給客戶端的一張通行證,持有有效證件
就能直接通行 為什麼是有效證件?因為cookie有一個保質期 過期就失效被清除。   session是伺服器的一張允許通行的名單,在名單上的就能通行,那麼客戶端拿什麼證明自己就是名單上的某個人呢?session在將你寫在名單上的時候給了你一個證件存在cookie上 請求資料時cookie會連同證件一起傳輸,要是對上號了,那就無阻通行。但是你出門了 證件就得上交,因為session在瀏覽器關閉時清除。   over