一般默認情況下,在會話中,服務器存儲 session 的 sessionid 是通過 cookie 存到瀏覽器裏。
如果瀏覽器禁用了 cookie,瀏覽器請求服務器無法攜帶 sessionid,服務器無法識別請求中的用戶身份,session失效。
但是可以通過其他方法在禁用 cookie 的情況下,可以繼續使用session。
- 通過url重寫,把 sessionid 作爲參數追加的原 url 中,後續的瀏覽器與服務器交互中攜帶 sessionid 參數。
- 服務器的返回數據中包含 sessionid,瀏覽器發送請求時,攜帶 sessionid 參數。
- 通過 Http 協議其他 header 字段,服務器每次返回時設置該 header 字段信息,瀏覽器中 js 讀取該 header 字段,請求服務器時,js設置攜帶該 header 字段。
轉自:https://www.javanav.com/interview/aca1a44c2b1647be8f6aa098171890da.html