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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/273370.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/273370.shtml
英文地址,請注明出處:http://en.pswp.cn/news/273370.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

經典PCB軟件比較闡述—Cadence和Mentor(整理)

PCB(Printed Circuit Board)設計軟件經過多年的發展、不斷地修改和完善,或優存劣汰、或收購兼并、或強強聯合,現在只剩下Cadence和Mentor兩家公司獨大。 Cadence公司的推出的SPB(Silicon Package Board)系列,原理圖工具采…

RHEL 集群(RHCS)配置小記 -- 文檔記錄

1、RHEL 6 集群配置官方管理手冊 https://access.redhat.com/site/documentation/zh-CN/Red_Hat_Enterprise_Linux/6/pdf/Cluster_Administration/Red_Hat_Enterprise_Linux-6-Cluster_Administration-zh-CN.pdf 2、官方講解Fencing設備原理 https://access.redhat.com/documen…

Http協議(5)—HTTP摘要認證

一、摘要認證的改進1.用摘要保護密碼客戶端不發送密碼,而是發送一個摘要,服務端只需驗證這個摘要是否和密碼相匹配2.單向摘要a.摘要是一種單向函數,將無限的輸入值轉化為有限的b.常見的摘要為MD5:將任意長度的字節序列轉換為一個128位的摘要;MD5的128位摘…

c#常用正則表達式

public class RegexUtil {private RegexUtil() { }private static RegexUtil instance null;/// <summary>/// 靜態實例化單體模式/// 保證應用程序操作某一全局對象&#xff0c;讓其保持一致而產生的對象/// </summary>/// <returns></returns>publi…

Http協議(4)—HTTP認證機制

一、認證1.HTTP質詢/響應認證框架服務器收到一條請求并沒有按照請求執行動作,而是以一個認證質詢執行響應,要求用戶提供一個保密信息說明他是誰,當用戶再次發送請求時要附上保密證書,如果證書匹配則執行請求,否則返回一條錯誤信息2.認證協議與首部官方的兩個認證協議:基本認證、…

C#加密解密DES字符串轉

using System; using System.Collections.Generic; using System.Text; using System.Security.Cryptography; using System.IO;namespace Component {public class Security{public Security(){ }//默認密鑰向量private static byte[] Keys { 0x12, 0x34, 0x56, 0x78, 0x90, …

Http協議(6)—安全HTTP

一、保護HTTP的安全1.功能:.服務器認證:客戶端知道它是在與真正的服務器進行通信.客戶端認證:服務器知道它是在與真正的客戶端進行通信.完整性:服務器與客戶端的數據不會被修改.加密:客戶端與服務器的對話是私密的,不會被竊聽.效率:運行足夠快的算法.普適性:所有客戶端和服務器…

restful處理

重寫/覆蓋 HTTP 方法 一些HTTP客戶端僅能處理簡單的的GET和POST請求&#xff0c;為照顧這些功能有限的客戶端&#xff0c;API需要一種方式來重寫HTTP方法. 盡管沒有一些硬性標準來做這事&#xff0c;但流行的慣例是接受一種叫 X-HTTP的請求頭&#xff0c;重寫是用一個字符串值…

Http協議(7)—Http緩存

一、冗余的數據傳輸有些客戶端訪問服務器頁面時,服務器會多次響應同一個頁面的副本給客戶端&#xff0c;這會產生冗余數據&#xff0c;故使用緩存就可以保留第一條相應的副本&#xff0c;以后就響應緩存的數據二、帶寬瓶頸在需要下載大型文件時,如果在局域網中放入該文件的一個…

Apache JMeter--網站自動測試與性能測評

Apache JMeter--網站自動測試與性能測評2013-02-28 15:48:05標簽&#xff1a;JmeterFrom:http://bdql.iteye.com/blog/291987 出于學習熱情&#xff0c;翻譯總結Emily H. Halili的《Apache JMeter》一書的部分內容。 JMeter的簡介 可以肯定的是&#xff0c;JMeter至少符合以下幾…

Linux 重命名文件

inux下重命名文件或文件夾的命令mv既可以重命名&#xff0c;又可以移動文件或文件夾. 例子&#xff1a;將目錄A重命名為B mv A B 例子&#xff1a;將/a目錄移動到/b下&#xff0c;并重命名為c mv /a /b/c 其實在文本模式中要重命名文件或目錄的話也是很簡單的&#xff0c;我們只…

苦逼的.net程序員, 轉行高富帥iOS移動開發

先知先覺,后知后覺 **- 在做了兩三年.net開發后, 還是感覺.net不是那么牛逼, 許多給我一起搞.net的同學, 不是去做了android, 就是去做了iOS, 或者java; 這讓我對.net的前景有了一些動搖, 在三思考之后,還是決定放棄.net ,理由很簡單,就是工資有點低; 由于藍鷗iOS培訓機構,一…

C# DataTable的詳細使用方法

在項目中經經常使用到DataTable,假設DataTable使用得當&#xff0c;不僅能使程序簡潔有用&#xff0c;并且可以提高性能&#xff0c;達到事半功倍的效果&#xff0c;現對DataTable的使用技巧進行一下總結。 一、DataTable簡單介紹 (1)構造函數 DataTable() 不…

mysql設置環境變量

-- 設置或修改系統日志有效期SET GLOBAL expire_logs_days8;SHOW VARIABLES LIKE %expire_logs_days%;-- 設置或修改系統最大連接數SET GLOBAL max_connections 2648;SHOW VARIABLES LIKE %max_connections%;-- 修改MYSQL自動編號步長SHOW VARIABLES LIKE %auto_increment%;SE…

CentOS7 編譯安裝LVS 互為主備 (實測 筆記 Centos 7.0 + ipvsadm 1.27 + keepalived 1.2.15 )

環境&#xff1a; 系統硬件&#xff1a;vmware vsphere (CPU&#xff1a;2*4核&#xff0c;內存2G&#xff0c;雙網卡) LVS服務器&#xff08;兩臺&#xff09;&#xff1a; 系統&#xff1a;Centos7.0 64位&#xff08;LVSkeepalived&#xff09; LvsMaster:192.168.1.21 (主…

shell 執行mysql語句

<pre name"code" class"plain">#變量定義 sqlname"test.sql" dir"/sdb2/backup/mysql_db_backup/backup/databases" host"127.0.0.1" user"root" passwd"root" dbname"test" #導…

hdu3081 Marriage Match II(最大流)

轉載請注明出處&#xff1a; http://www.cnblogs.com/fraud/ ——by fraud Marriage Match II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2410 Accepted Submission(s): 820 Problem Descriptio…

CentOS6安裝tomcat6

首先我們要下載一個tomcat的安裝包 http://ftp.riken.jp/net/apache/ wget http://ftp.riken.jp/net/apache/tomcat/tomcat-6/v6.0.41/src/apache-tomcat-6.0.41.tar.gz 下載好后解壓到一個以目錄&#xff0c;我的是放在了/usr/apache-tomcat-6.0.41 tar –zxvf apache-t…

修復 XE7 , XE8 Frame 內 PopupMenu 快捷鍵失效問題

問題&#xff1a;將 Frame 含 PopupMenu 放置 Form 后&#xff0c;在 Frame 里的 PopupMenu 失效&#xff0c;無法按快捷鍵。 適用&#xff1a;(XE7 update 1 / XE8) for Windows 平臺 修正方法&#xff1a; 請將源碼 FMX.Forms.pas 復制到自己的工程目錄里&#xff0c;再進行修…

Vmware Centos中安裝vmtools工具

在Vmware安裝虛擬機是很好玩的&#xff0c;可是有時候在虛擬機與本地主機之間相互傳遞文件時卻是一件比較麻煩的事情&#xff0c;這時候我們安裝一個vmtools的工具這樣我們就可以隨意的在虛擬機與主機之間相互拖拽文件&#xff0c;下面我們就來說說如何安裝vmtools 點擊虛擬機會…