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

2021-06-26 06:05:41 字數 1564 閱讀 5989

一、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,強制每次都進行驗證

筆記 Go語言 http協議客戶端實現

func testhttpnewrequest 建立乙個client request,err http.newrequest get nil 建立乙個request,函式有三個引數 method 請求方法,url 請求url,body 可選引數 checkerr err 自定義函式,檢測錯誤 req...

用Socket類實現HTTP協議客戶端應用

用socket類實現http協議客戶端應用 梁穎健 liangyingjian 21cn.com responsecode integer.parseint message.substring mark 1,mark 4 responsemessage message.substring mark,...

用Socket類實現HTTP協議客戶端應用

用socket類實現http協議客戶端應用 梁穎健 liangyingjian 21cn.com responsecode integer.parseint message.substring mark 1,mark 4 responsemessage message.substring mark,...