Cookie 是否會被取代

admin發表於2019-10-23

由於HTTP協議無狀態,導致任意的HTTP請求之間是毫無關聯的。

無狀態可以做到高效,但是也隨著帶來很多問題,舉一個例子:

(1).在A頁面使用者登入。

(2).再訪問B頁面,結果登入狀態消失了。

為了解決上述HTTP協議無狀態導致的問題,於是Cookie誕生了。

將使用者的登入資訊儲存在客戶端,當再次傳送請求時,附著在HTTP請求頭部傳送到伺服器。

但是Cookie存在諸多問題,簡單羅列如下:

(1).儲存量小,只有幾K。

(2).每次HTTP請求,都會隨同傳送到伺服器,浪費頻寬。

(3).安全性不夠(客戶端儲存普遍存在此問題)。

基於上述一些問題,隨後出現了sessionStorage、localStorage和indexedDB等本地儲存方案。

上述三個儲存方案具體用法參閱如下文章:

(1).storage儲存參閱本地儲存板塊。

(2).indexedDB參閱indexedDB 本地資料庫板塊。

術業有專攻:

新增的儲存方案解決了儲存量小的問題,並且操作介面更為方便。

但是Cookie還有其用武之地,比如維護HTTP會話狀態:

(1).儲存非機密的使用者資訊。

(2).雖然當前大多數時候採用Session維護會話狀態。

(3).但是當前使用者Session物件的唯一標識Session_id通常儲存在Cookie中。

(4).Session_id相關Cookie可以隨同HTTP請求隨同傳送到伺服器,進行身份識別。

關於與Session關係更多介紹可以參閱Cookie與Session 關係一章節。

相關文章