回覆列表
  • 1 # 使用者2253539890928

    “保持登入狀態” 其實就是服務端需要一些資料來識別發起當前請求的使用者。比如在登入的時候,後端生成一個 session ID,然後設定到 cookie,後面的所有請求瀏覽器都會帶上 cookie,然後服務端從 cookie 裡獲取 session ID,再查詢到使用者資訊。

    所以,保持登入的關鍵不是 cookie,而是透過 cookie 儲存和傳輸的 session ID,其本質是能獲取使用者資訊的資料。除了 cookie,還通常使用 HTTP 請求頭來傳輸,比如標準的 Authorization,也可以自定義,如 X-Auth-SessionID 等。但是這個請求頭瀏覽器不會像 cookie 一樣自動攜帶,需要手工處理。

    比如,登入的時候,服務端返回一個 JWT 格式的 access token,前端將其儲存到 localStorage,後續的請求,構造一個類似

    Authorization: Bearer <access token>

    的請求頭。服務端從 Authorization 取出 token, 解碼並查詢到對應的使用者。最終的效果和 cookie 是一樣的。

  • 中秋節和大豐收的關聯?
  • 形容很想一個人的成語?