1. 程式人生 > 資訊 >特斯拉告知 FSD 測試新使用者:測試車輛只使用純視覺系統

特斯拉告知 FSD 測試新使用者:測試車輛只使用純視覺系統

概述

由於HTTP協議是無狀態的協議,需要用某種機制來識別具體的使用者身份,用來跟蹤使用者的整個會話。常用的會話追蹤技術是cookie和session。

cookie 就是由伺服器傳送給客戶端的特殊資訊,而這些資訊以文字檔案的方式存放在客戶端,然後客戶端每次向伺服器傳送請求的時候都會帶上這些特殊的資訊。

具體的說:當用戶使用瀏覽器訪問一個支援cookie的網站的時候,使用者會提供包括使用者名稱在內的個人資訊並且提交至伺服器;接著,伺服器向客戶端回傳相應的超文字的同時也會發回這些個人資訊,當然這些資訊並不是存放在HTTP響應體中的,而是存放於HTTP響應頭;當客戶端瀏覽器接收到來自伺服器的響應之後,瀏覽器會將這些資訊存放在一個統一的位置。自此,客戶端再向伺服器傳送請求的時候,都會把相應的cookie存放在HTTP請求頭中,再次發回伺服器。伺服器在接收到來自客戶端瀏覽器的請求後,就能夠通過分析存放在請求頭的cookie得到客戶端特有的資訊,從而動態生成與該客戶端相對應的內容。

cookie的工作流程

  1. servlet建立cookie,儲存少量資料,傳送給瀏覽器。
  2. 瀏覽器獲取伺服器傳送的cookie資料,將自動的儲存到瀏覽器端。
  3. 下次訪問時,瀏覽器將自動攜帶cookie資料傳送給伺服器。

Session

首先瀏覽器請求伺服器訪問web站點時,伺服器首先會檢查這個客戶端請求是否已經包含了一個session標識、稱為sessionid,如果已經包含了一個sessionid,則說明以前已經為此客戶端建立過session,伺服器就按照sessionid把這個session檢索出來使用;如果客戶端請求不包含sessionid,則伺服器為此客戶端建立一個session,並且生成一個與此session相關聯的獨一無二的sessionid

存放到cookie中,這個sessionid將在本次響應中返回到客戶端儲存,這樣互動的過程中,客戶端每次請求時,都會帶著這個sessionid,伺服器根據這個sessionid就可以找到對應的session。以此來達到共享資料的目的。session不會隨著瀏覽器的關閉而死亡,而是等待超時時間。

Cookie和Session的區別

  • 作用範圍不同,Cookie儲存在客戶端,Session儲存在伺服器端
  • 有效期不同,Cookie可設定為長時間儲存,比如經常使用的預設登入功能,Session一般時效較短,客戶端關閉或者Session超時都會失效。
  • 隱私策略不同,Cookie儲存在客戶端,容易被竊取;Session儲存在服務端,安全性相對較好。
  • 儲存大小不同,單個Cookie儲存的資料不能超過4K;對於Session來說儲存沒有上限,但出於對伺服器的效能考慮,Session內不要存放過多的資料,並且需要設定Session刪除機制。