在ASP.NET中,我對會話狀態中cookie的作用有點困惑。 普通會話狀態和無Cookie會話狀態有什麼區別?什麼是無Cookie會話?
回答
正常會話狀態涉及提供cookie。該cookie包含一個會話標識符,該會話標識符被網站用來匹配訪客和他們各自的會話值。
無Cookie會話狀態使用相同的原則,但不使用cookie傳遞會話標識。通常,這是作爲查詢字符串的參數傳遞的。
例如
http://www.somewebsite.com/page.aspx?sid=jrkwojeqrojq3op349023231234r23rf2
Cookie少會話不使用cookie是用戶的瀏覽器來存儲會話狀態。相反,它將會話存儲在頁面本身或URL中。在這裏閱讀comparison。
無Cookie意味着sessionId會傳遞到每個請求的url中,而不是在瀏覽器上設置cookie。
大聲笑,「消失」! – Codesleuth 2010-02-16 13:19:05
我是一個老屁。我知道。幸運的是,我還沒有找到原因使用動詞'thunk' – 2010-02-16 13:23:05
ASP.NET能夠修改頁面中找到相關的鏈接和URL的不是將其存儲在cookie中嵌入會話ID。
因此,只要用戶遵循站點提供的鏈接路徑,就可以在不使用cookie的情況下維護會話狀態。但是,如果最終用戶重新寫入URL,會話狀態實例很可能會丟失。
延伸閱讀:
-1 - 它存儲在URL中的會話ID,而不是會話。 – 2010-02-16 13:18:38