2017-09-12 72 views
0

如何在Node.js中創建會話並進行管理,而無需使用類似Express的框架?創建沒有明確表達的會話

提到管理會話在節點中的大多數問題都是使用express來實現,但我想知道如何在不使用express的情況下執行此操作。

回答

0

這是一種重新發明輪子。我想這就是爲什麼有人低估了。但有時它對於學習目的來重新發明車輪很有用。

會話處理主要通過cookie完成(有時也在URL中編碼)。在這個過程中,服務器向客戶端發送一個唯一標識符(cookie),並創建一個包含存儲在會話中的數據的本地文件,並在下一個請求中檢查唯一標識符是否存在,如果是,則將其與所有已保存文件如果匹配,它將選擇該文件並將從該文件讀取數據,然後您將能夠使用該會話。如果文件或唯一標識不存在,它將創建一個具有該唯一標識的空文件,並將其發送到客戶端的set-cookie標頭中,以便下次識別會話。

這裏有一些步驟,你可以按照處理會話:

  1. 在收到請求首先檢查cookies在REQ找到你的會話cookie。
  2. 如果存在,請從中讀取唯一標識並檢查是否存在具有該名稱(唯一標識符)的文件。
  3. 如果文件存在,請從文件中讀取對象並將其存儲在名爲mysession的本地變量中(自己命名)。
  4. 如果文件或會話cookie不存在,請使用隨機生成的唯一標識符創建一個空文件。並通過set-cookie頭將這個唯一標識符以會話cookie的形式發送給客戶端。

做到以上的東西,你發送任何數據到客戶端

寫有你該變量由每次修改您的MySession的變量的內容的會議文件之前。