2017-03-03 93 views
0

會話是服務器端對象並駐留在服務器上。每個會話都有一個會話ID。會話ID是唯一的號碼,服務器在訪問(會話)期間分配給特定用戶。默認情況下,會話ID被附加到一個cookie,並且這個cookie將在其請求/響應期間從客戶端到服務器(以及服務器到客戶端)共享。服務器將根據從cookie中檢索到的會話ID來識別會話。Express會話可否在沒有cookie的情況下工作?

所以我想知道Express會話是否適用於無Cookie?

+1

[PHP會話沒有cookie]的可能重複(http://stackoverflow.com/questions/3740845/php-session-without-cookies) –

+2

@AbdullaNilam不是一個愚蠢的問題:節點和快遞的解決方案是完全不同 –

回答

1

所以我想知道如果一個快速會議工程無cookieless?

不是。實際的快速會話模塊僅適用於cookie。它在cookie中存儲會話ID,以便來自該特定瀏覽器的下一個頁面請求或Ajax請求將包含該cookie,並且express會話可以查找與該會話ID相對應的適當的服務器端會話對象。

可以創建不使用cookie的會話系統。這通常是通過把會話ID的URL作爲查詢參數,如完成:

http://somedomain.com/somepath?sessionID=0823408234 

但是,這是更麻煩建立一個網站,這樣一來,除非你使用的是修復所有的渲染系統鏈接(頁面中希望保留會話的所有鏈接必須在查詢參數中具有正確的會話ID),並且會拋出書籤和其他許多問題。

但是,快速會話不這樣做。它需要一個cookie。

+0

不會發送URL中的會話ID是一個安全問題? –

+0

@AbhishekAnand是的,這就是爲什麼人們使用基於域的cookie來存儲會話ID。所以其他域名將無法跟蹤您的會話ID。 –

相關問題