Http協議(2)—客戶端的識別與cookie機制

一、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,強制每次都進行驗證
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章