有與連接/ Express捆綁兩屆相關的中間件。 有什麼區別?我該如何選擇?是什麼在連接/快遞「會話」和「cookieSession」中間件之間的區別?
我假設session中間件與cookieSession中間件相同,但具有額外的存儲機制。
有與連接/ Express捆綁兩屆相關的中間件。 有什麼區別?我該如何選擇?是什麼在連接/快遞「會話」和「cookieSession」中間件之間的區別?
我假設session中間件與cookieSession中間件相同,但具有額外的存儲機制。
session middleware默認實現通用會話功能,內存存儲。不過,它允許您指定其他存儲格式。
的cookieSession middleware,在另一方面,實現餅乾支持存儲(即整個會話序列化到cookie,而不僅僅是一個會話密鑰。它應該只用於當會話數據是怎麼回事保持相對較小
相同同一頁而且,按照我的理解,它(Cookie的會話)只應在會話數據不敏感時使用。假設用戶可以檢查會話的內容,但中間件會檢測數據何時被修改。如果 –
@RyanBales會話數據應該保密的,那麼你應該使用TLS,但在這種情況下,很可能是如表單數據應該保密,所以你應該使用TLS。默認設置會阻止其他網站閱讀這些cookie。這是很難想象的要隱瞞有關從該用戶的用戶的會話信息的情況,但在這種情況下,你簡直在存放前,加密會話數據。 –
兩個中間件使用客戶端Cookie來維護用戶的IE 會議方面的區別在於:。
下表比較cookieSession middleware和session middleware WRT會議:
+----------------+-----------------------+----------------------+
| | Client-side store | Server-side store |
| | (cookie) | (in-memory, db ..) |
+----------------+-----------------------+----------------------+
| Middleware | Used? | Content | Used? | Content |
+----------------+--------+--------------+-------+--------------+
| session | Yes | Session ID | Yes | Session data |
+----------------+--------+--------------+-------+--------------+
| cookie-session | Yes | Session data | No | N/A |
+----------------+--------+--------------+-------+--------------+
cookieSession middleware是,它不需要任何額外的服務器端店內簡單即服務器保持完全無狀態。 session middleware需要一個服務器端存儲。默認的基於內存的會話存儲的一個明顯限制是,當服務器有多個實例時它不起作用;在這種情況下將需要另一種共享存儲(例如數據庫),這使得它相對複雜。雖然在一般,會話中間件是比較常用的,因爲它更靈活(用於存儲敏感數據,或更大的有效載荷等)
很好的答案,謝謝 – swyx
目前您的鏈接是 – user568109