一、Http用戶識別的機制
1.承載用戶身份的http首部
2.客戶端IP地址跟蹤,根據客戶端IP地址進行識別
3.用戶登錄,用認證方式識別用戶
4.胖URL,一種在URL中嵌入識別信息的技術
5.cookie,一種持久身份識別技術
二、HTTP首部
1.From
包含用戶的Email地址
2.User_Agent
將用戶所用瀏覽器的相關信息告訴服務器
3.Referer
提供用戶來源頁面的URL,說明用戶之前訪問過哪些頁面
三、客戶端IP地址
弊端
1.客戶端IP地址描述的是機器而非用戶,如果多個用戶共享同一臺計算機就無法識別
2.很多因特網服務商會爲用戶動態分配IP
3.很多用戶通過網絡地址轉換(NAT)防火牆來訪問網絡內容
4.HTTP代理或網關會打開新的到原始服務器的TCP鏈接,Web服務器看到的將是代理的
IP地址,而非客戶端
四、用戶登錄
服務器向瀏覽器回送一個HTTP401 Login Required的響應代碼,彈出登錄框要求用戶登錄,然後瀏覽器會添加一個Authorization首部提供用戶的登錄信息
弊端:
每次登錄一個站點都需要輸入用戶名和密碼有點繁瑣
五、胖URL
爲用戶生成特別的URL來追蹤用戶身份
六、Cookie
1.Cookie類型
會話Cookie:一種臨時Cookie,用戶退出瀏覽器後就被刪除
持久Cookie:存儲在硬盤上,用於維護用戶週期性訪問某個站點的配置文件或登錄名
會話Cookie與持久Cookie的區別是它們的過期時間
2.Cookie是怎樣工作的?
服務器給客戶端的一個標識,客戶端瀏覽器將其保存在瀏覽器的數據庫中,將來客戶端訪問同一站點時就會將Cookie信息加到請求首部中將其傳回去
3.Cookie罐:客戶端狀態
Cookie的基本思想就是讓瀏覽器記住服務器的信息,每次訪問服務器時都將這些信息提供 給他,故Cookie又叫HTTP狀態管理機制
4.不同站點使用不同的Cookie
4.1 Cookie的域屬性
控制哪些站點可以看到這個Cookie
4.2 Cookie的路徑屬性
在path這個屬性列出的URL路徑前綴下所有Cookie都是有效的
5.Cookie與緩存
5.1 如果無法緩存文檔,要將其標記出來
5.2 緩存set-cookie時要小心
響應中有set-cookie表示可以對主體進行緩存,如果對多個用戶發送相同的set-cookie,則破壞用戶定位
強制緩存與原始服務器重新驗證每條請求,並將返回的所有set-cookie都合併到客戶端的響應中去
5.3 小心才處理帶有Cookie首部的請求
帶有Cookie首部的請求一般是私有的,不能緩存或者緩存帶有Cookie首部的圖片,過期時間設置爲0,強制每次都進行驗證