1. 程式人生 > >session和cookie的內部原理

session和cookie的內部原理

cookie的工作流程: 客戶端訪問伺服器,伺服器呼叫response.addCookie()方法,產生響應時,會產生set-cookie響應頭,將cookie文字傳送給客戶端,客戶端會將cookie文字儲存起來,當客戶端再次請求伺服器時,會產生cookie請求頭,將之前伺服器傳送的cookie資訊,再發送給伺服器,伺服器就可以根據cookie資訊跟蹤客戶端的狀態。 cookie的工作原理: a.伺服器通過隨著響應傳送一個http 的Set-Cookie 頭,在客戶機中設定一個cookie(多個cookie 要多個頭)。  b.客戶端自動向伺服器端傳送一個http 的cookie 頭,伺服器接收讀取。  C.如果是持久化cookie,瀏覽器將在客戶端的磁碟上建立一個cookie 檔案,並在裡面寫入:     TestCookie=something from somewhere;      這一行就是我們用 setcookie('TestCookie','something   from  somewhere','/'); 的結果。也可以用      header('Set-Cookie: TestCookie=something from somewhere; path=/');的結果。 cookie的分類: 1 存放在客戶端瀏覽器的快取中,當瀏覽器不關閉,cookie資訊一起存在,瀏覽器一關閉,cookie消失 2 存放在客戶端的檔案中,並可以設定cookie過期時間,過期時間之內,即使瀏覽器關閉,也可以將cookie資訊傳送給伺服器,超過過期時間,cookie消失。 cookie資訊是以文字方式(不一定是txt檔案,大多是二進位制檔案)存放在客戶端的,所以容易引起一些安全隱患,所以不要把隱祕資訊以cookie方式儲存。 cookie相關操作(新建+讀取+刪除) 設定cookie:     a.可以用 setcookie()