1. 程式人生 > 其它 >web基礎知識(二)

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)