1. 程式人生 > >HTTP協議與狀態保持

HTTP協議與狀態保持

狀態保持是什麼? 

        所謂的狀態保持就是使用者請求時,瀏覽器.伺服器知道這個使用者之前做過什麼,會把使用者的瀏覽狀態保持下來. 比如 :你訪問了淘寶並登入,當你點選某個連結,進入新的頁面,他沒有讓你重新輸入賬號密碼,新頁面是顯示的已登入狀態.這就是所謂的狀態保持.

為什麼要進行狀態保持?

         因為 HTTP 是一種無狀態協議,瀏覽器請求伺服器是無狀態的。為什麼HTTP是無狀態的?是因為TCP/IP是無狀態的.為什麼TCP/IP是無狀態的,因為使用socket連結,當三次握手,四次揮手之後,伺服器將請求給的資料傳送給了瀏覽器之後,會關閉當前的socket,而且伺服器也在會處理頁面之後銷燬頁面物件. 一句話總結: 人生若只如初見.

怎麼實現狀態保持?       

        實現的原理就是當你登入訪問淘寶的時候,淘寶的伺服器返回給你一個cookie資訊. 瀏覽器會儲存這個資訊,當你再點選新頁面的時候瀏覽器會自動攜帶cookie資訊訪問伺服器, 伺服器讀取到cookie資訊,識別到你是已登入狀態, 所以新的頁面就不需要重新登入了.但是cookie資訊都儲存在了客戶端,不是很安全.

        還有另外一種實現狀態保持的是session,session是基於cookie實現的,  session和cookie都是鍵值對形式的字串,相當於字典, session只是把key放到了瀏覽器,而value值放在了伺服器. 所以session常常用來儲存一些比較敏感,重要的資訊.

        以上只是個人的一些看法,如果有什麼錯誤的地方,請指出來,謝謝♪(・ω・)ノ.希望大家共同進步.