可以通過js獲取session的值嗎?

Ta丶黃天瑤


Session是一種會話保持機制,和Cookie一樣,只不過Session是保存在服務器端的。而JS在客戶端運行時默認是無法直接獲取Session的,但我們可以通過其它方式變通的讓JS能獲取到Session的值。

Session機制

我們知道HTTP協議本身就是無狀態的協議,默認情況下即使是同一個客戶端發出的多次請求,也會被當成不同客戶發出的請求(因為服務器端是無法識別哪些請求是來自同一個客戶端發出的)。這種特性對於WEB應用而言是存在很大問題的,因為很多業務是必須要會話機制的,所以才有了Cookie+Session機制。基於Cookie+Session機制,在一定時間內同一客戶端發出的多次請求服務器都會標識為同一客戶的請求,因為每個請求都有一個head頭信息。

通過JS獲取Session的方案

雖然JS無法直接獲取Session的值,但我們可以在動態頁面中調用Session的值,然後用JS通過Ajax調用此動態頁面,這樣就變相的通過JS獲取到了Session的值。


以上就是我的觀點,對於這個問題大家是怎麼看待的呢?歡迎在下方評論區交流 ~ 我是科技領域創作者,十年互聯網從業經驗,歡迎關注我瞭解更多科技知識!

網絡圈


首先要明白一點,session是存儲於服務器端的。因此想要獲取session必須是服務器端語言。如果樓主說的是指運行於網頁端的js當然不能獲取session。但是別忘了,還有nodejs,如果使用nodejs作為服務器端運行的語言,此時服務器端的js當然就可以獲取session的。


汛1


js不能直接獲取session的值,但是可以操作cookies。

session和瀏覽器之間通過一個叫sessionID的cookies關聯起來。通過操作這個cookies,可以間接操作session。

其實你的需求就是錯的,理解錯了session和cookies的區別和關係


分享到:


相關文章: