web基礎知識(二)
一、Cookie機制
HTTP協議本身是無狀態協議,HTTP不會記錄前一次傳輸的資料資訊。而在很多情況下,我們和伺服器之間的一個會話不是一個動作就完成了,所以我們希望能在客戶端和伺服器這個互動的會話期間內,伺服器能夠保持對客戶端會話的識別,也就是保持http的狀態型。
1.Cookie機制---技術實現
Cookie,有時也用其複數形式Cookie,指某些網站為了辨別使用者身份、進行session(會話)跟蹤而儲存在使用者本地終端上的資料(通常經過加密的)
Cookie的動機:客戶端在瀏覽多個頁面時,提供事物(transaction)的功能,為伺服器提供狀態管理
---購物車可以為每個使用者實現購物統計
---實現授權策略,使用者不用每個頁面都輸入使用者名稱/密碼
每個cookie都有一定的URL反為,客戶請求這個範圍的URL,都要提供這個cookie
2.Cookie機制---規範
Cookie由服務端向客戶端寫入,包含在http響應頭中的setcookie欄位,格式如下:
Set-Cookie name | value | path | domain | expires...
name:cookie變數的名稱
Value:賦予cookie的值
Path:請求頁面的路徑
Domain:cookie的作用範圍(域名)
Expires:過期時間
Cookie會被寫入到客戶端的internet temorary files資料夾內,當客戶端請求域名範圍內的URL時,會讀取cookie檔案,並在http請求頭中的cookie欄位
二、Session機制
當用戶第一次訪問web站點時,由伺服器記錄會話,並生成sessionID用來標識一個客戶端的會話。同時,通過cookie向客戶端傳遞這個sessionID
客戶端後續的會話,會由瀏覽器自動攜帶這個sessionID,伺服器根據儲存的sessionID和收到的sessionID來判斷會話資訊
每一個session都有對應的一個sessionID,服務端通過ID去辨別會話(session)