Cookie-用戶識別機制

生活場景

你現在是一個酒店經理,負責招待客人。每天接待幾十個客人,當然其中會有很多熟客。如果你想成爲一名頂尖的酒店經理,那麼你必須知道這些熟客的姓名,性格,喜好,愛吃什麼,對什麼忌口,如果你能夠做到這一點,那麼客人會覺得非常有面子,會和你成爲朋友,回頭客也會越來越多,因爲你的服務,客人的體驗感非常棒。你離頂尖也就不遠了。

現在來看一下各種網站,企鵝會在你生日的時候給你發祝福,X博會根據你的喜好來推送新聞,你在網上購物下單的時候只需要點點點就行,不用每次都輸入個人信息。這代表什麼?代表了這些網站都記住你了,他們都想成爲一個頂尖的酒店經理。

早期的Web站點設計者都有自己的識別技術

  1. HTTP首部(承載了用戶信息)
  2. 客戶端IP地址跟蹤
  3. 用戶登錄,用認證的方式來識別用戶
  4. 胖URL,在URL中嵌入識別信息的技術
  5. Cookie,強大,高校,持久的識別技術

這裏着重討論下Cookie

Cookie類型

會話Cookie和持久Cookie,兩者的唯一區別就是過期時間

會話Cookie:臨時Cookie,記錄用戶訪問站點時的設置和偏好,退出瀏覽器後就刪除

持久Cookie:存儲在硬盤上,即使瀏覽器退出,計算機重啓,它仍然存在。通常用於維護某個用戶週期性訪問站點的配置文件或登錄名

Cookie工作方式

作爲一名頂尖的酒店經理,你無需記住每一個客人的姓名,喜好,那樣會累死,且非常蠢。你只要記住那些回頭客的姓名和喜好就行。那麼,一個頂尖的酒店經理的工作機制是這樣的:

這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述

看看,都是套路。那麼Cookie的機制類似,第一次接到用戶A的請求簡單響應下,第二次接收到用戶A的請求,此時服務器直接”啪”,在用戶A’臉上’貼個’二維碼’(id),然後收集A的情報放進這個二維碼中儲存起來,就記住A了。第三次的時候直接就根據這個二維碼提取用戶A的相關信息。
上面二維碼是個比喻啊,實際上貼的是Cookie。

這個Cookie可以是id,比如id=’8888’,那麼服務器直接在用戶信息裏找id爲8888的,提取信息就行,這是一種。還有一種簡單粗暴,直接將信息保存在Cookie中,如

cookie: name='三胖'; phone="888-1234"

而這種Cookie是存儲在本地瀏覽器的Cookie數據庫中的,當你用戶使用瀏覽器再次發送請求到服務器A時,瀏覽器會把服務器A貼給你的Cookie找出來,再貼你臉上,然後你就頂着這個cookie去瀏覽了,服務器A也就知道你是誰了。服務器A:哇,前面有個殭屍~~

Cookie基本思想

Cookie的基本思想是:讓瀏覽器存儲cookie信息,每次用戶訪問服務器時,都cookie提供給服務器。當然,不同的瀏覽器會有不同的存儲Cookie的方式。

關於Cookie的組成部分,就不細說了。實際用到就行,先知道Cookie是什麼,怎麼工作的就行。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章