Cookie機制 和 session 機制
先簡單介紹下瀏覽器
- cookie機制採用的是在客戶端保持狀態的方案
- session機制可能須要藉助於cookie機制來達到保存標識的目的,但實際上它還有其餘選擇
- 客戶端保留服務端的sessioID
- 正統的cookie分發是經過擴展HTTP協議來實現的
- 服務器經過在HTTP的響應頭中加上一行特殊的指示以提示瀏覽器按照指示生成相應的cookie
- 純粹的客戶端腳本如JavaScript也能夠生成cookie
- cookie的內容主要包括:名字,值,過時時間,路徑和域。
- 若不設置過時時間,則表示這個cookie的生命期爲瀏覽器會話期間,關閉瀏覽器窗口,cookie就消失。
- 若設置了過時時間,瀏覽器就會把cookie保存到硬盤上,關閉後再次打開瀏覽器,這些cookie仍然有效直到超過設定的過時時間。
- 服務器首先檢查這個客戶端的請求裏是否已包含了一個session標識(session id),若是已包含則說明之前已經爲此客戶端建立過session,
- 服務器就按照session id把這個session檢索出來使用(檢索不到,會新建一個)
- 若是客戶端請求不包含session id,則爲此客戶端建立一個session而且生成一個與此session相關聯的session id
- 常常被使用的一種技術叫作URL重寫,就是把session id直接附加在URL路徑的後面。
- 還有一種技術叫作表單隱藏字段。就是服務器會自動修改表單,添加一個隱藏字段,以便在表單提交時可以把session id傳遞迴服務器。
總結:服務器
- 將登錄信息等重要信息存放爲SESSION
- 其餘信息若是須要保留,能夠放在COOKIE中
歡迎關注本站公眾號,獲取更多信息