HTTP系列(第3部分):客戶端標識

客戶識別及其極為重要的原因

正如您最清楚地知道的那樣,每個網站,或者至少那些關心您和您的行為的網站,都包含某種形式的內容個性化。

那是什麼意思?

HTTP系列(第3部分):客戶端標識

好吧,如果您訪問電子商務網站,或者包括社交網絡上的“您可能知道/想要聯繫的人”,推薦視頻,幾乎詭異地瞭解您需要的廣告,以及與之相關的新聞文章你,等等。

這種效果感覺就像一把雙刃劍。一方面,它提供了個性化的自定義內容,非常漂亮。另一方面,它可能導致確認偏見,可能導致各種刻板印象和偏見。有一個優秀的迪爾伯特漫畫,涉及確認偏見。

然而,我們如何能夠在不知道我們最喜歡的球隊昨晚得分如何,或者昨晚名人做了什麼的情況下生活?

無論哪種方式,內容個性化已成為我們日常生活的一部分,我們可能不會,我們可能甚至不想,對此採取任何行動。

讓我們看看Web服務器如何識別您以實現此效果。

識別客戶的不同方法

Web服務器可以通過多種方式識別您:

  • HTTP請求標頭
  • IP地址
  • URL
  • Cookies
  • 登錄信息(認證)

用於標識的HTTP請求標頭

Web服務器有幾種方法可以直接從HTTP請求標頭中提取有關您的信息。

那些標頭是:

  • From – 包含用戶的電子郵件地址(如果提供)。
  • User-Agent – 包含有關Web客戶端的信息。
  • Referer – 包含用戶來自的來源。
  • Authorization –
    包含用戶名和密碼。
  • Client-ip – 包含用戶的IP地址。
  • X-Forwarded-For –包含用戶的IP地址(通過代理服務器時)。
  • Cookie – 包含服務器生成的ID標籤。

從理論上講,From非常適合唯一標識用戶,但實際上,由於電子郵件收集的安全問題,很少使用此標頭。

User-Agent包含諸如瀏覽器的版本或操作系統的信息。雖然這對於自定義內容很重要,但它並不以更相關的方式識別用戶。

Referer告訴該用戶是來自服務器。此信息用於提高對用戶行為的理解,但不太適合識別用戶行為。

雖然這些標頭提供了有關客戶端的一些有用信息,但僅以有意義的方式個性化內容是不夠的。

其餘標題提供更精確的識別機制。

IP地址

當IP地址不那麼容易偽造/交換時,IP地址的客戶端識別方法在過去被更多地使用。雖然它可以用作額外的安全檢查,但它不夠可靠,不能單獨使用。

以下是一些原因:

  • 描述了機器,而不是用戶。
  • NAT防火牆 -許多ISP(Internet服務提供商)使用NAT防火牆來增強安全性並處理IP地址短缺
  • 動態IP地址 -用戶經常從ISP獲取動態IP地址
  • HTTP 代理和網關 -這些可以隱藏原始IP地址。某些代理使用Client-ip或X-Forwarded-For來保留原始IP地址

URL

看到網站利用URL來改善用戶體驗並不罕見。當用戶瀏覽網站時,他們會添加更多信息,直到網址看起來複雜且難以辨認。

您可以通過瀏覽Amazon商店查看長URL的外觀。

https://www.amazon.com/gp/product/1942788002/ref=s9u_psimh_gw_i2?ie=UTF8&fpl=fresh&pd_rd_i=1942788002&pd_rd_r=70BRSEN2K19345MWASF0&pd_rd_w=KpLza&pd_rd_wg=gTIeL&pf_rd_m=ATVPDKIKX0DER&pf_rd_s=&pf_rd_r=RWRKQXA6PBHQG52JTRW2&pf_rd_t=36701&pf_rd_p=1cf9d009-399c-49e1-901a- 7b8786e59436&pf_rd_i =桌面

使用這種方法時有幾個問題。

  • 它很醜。
  • 不可分享。
  • 打破緩存。
  • 它僅限於該會話。
  • 增加服務器上的負載。

Cookies

Cookie有兩種類型:會話cookie持久性cookie。離開瀏覽器時會刪除會話cookie,持久性cookie會保存在磁盤上並且可以持續更長時間。要將會話cookie視為持久性cookie,需要設置Max-Age或Expiry屬性。

Chrome和Firefox等現代瀏覽器可以在關閉它們時保持後臺進程正常工作,以便您可以從中斷的位置繼續操作。這可能會導致會話cookie的保留,所以要小心。

那麼cookie如何運作?

Cookie包含服務器使用Set-Cookie或Set-Cookie2響應標頭設置的名稱=值對列表。通常,存儲在cookie中的信息是某種客戶端ID,但是一些網站也存儲其他信息。

瀏覽器將此信息存儲在其cookie數據庫中,並在用戶再次訪問該頁面/網站時返回該信息。瀏覽器可以處理數千種不同的cookie,它知道何時為每個cookie提供服務。

以下是一個示例流程

用戶代理 - >服務器

HTTP系列(第3部分):客戶端標識

用戶代理通過表單輸入標識自己

服務器 - >用戶代理

HTTP系列(第3部分):客戶端標識

服務器發送Set-Cookie2響應頭以指示用戶代理(瀏覽器)在cookie中設置有關用戶的信息。

用戶代理 - >服務器

HTTP系列(第3部分):客戶端標識

用戶選擇放置購物籃的物品。

服務器 - >用戶代理

HTTP系列(第3部分):客戶端標識

購物籃包含一個項目。

用戶代理 - >服務器

HTTP系列(第3部分):客戶端標識

用戶選擇送貨方式。

服務器 - >用戶代理

HTTP系列(第3部分):客戶端標識

新cookie反映了送貨方式。

用戶代理 - >服務器

HTTP系列(第3部分):客戶端標識


分享到:


相關文章: