【问题标题】:Difference B/W Session and Cookie in SailjsSails Js 中的 B/W 会话和 Cookie 的区别
【发布时间】:2015-02-22 16:11:10
【问题描述】:
我正在处理一个大型应用程序,并且经常遇到会话问题,它只是有时会取消设置或损坏我的应用程序的会话,而我在会话中没有定义它。
顺便说一句,我需要知道是否有任何会话替代方案,所以我在研发后才知道我可以使用 cookie,但我认为这些东西以前是一样的。
所以我被卡住了,不知道如何解决我的问题。
现在我有一些问题,因为我是初学者
我使用的是sails v0.94版
请指导我。
【问题讨论】:
标签:
session
cookies
express
sails.js
【解决方案1】:
Session 是一个无模式的对象,可以保存在内存或持久存储中,例如 Mongo 或 Redis。使用 Redis 或 Mongo 等内存存储有助于跨多个应用程序服务器或在应用程序重新启动期间保持会话。
cookie 跟踪具有特定 ID 的用户以与会话相关联。 Sailsjs 在 Express 之上自动管理 cookie 和会话。当用户访问您的站点时,会为其分配具有唯一 ID 的 cookie。然后sails/express 会自动将会话信息关联到基于其唯一cookie 的特定客户端。 Sails 不仅可以表达,还允许您将其与套接字一起使用。
这一切都已完成,因此您不必像普通数据库一样保存和更新会话。您只需设置属性并继续。
不使用 cookie 的原因是,如果您希望将信息保留在客户端上,并且不希望为您的服务器在内存或数据库中查找该值增加开销。您需要确保这些信息不需要是安全的。
要了解如何使用 cookie,您应该搜索“Expressjs Cookies”(记住sails 在 express 之上运行,当前版本 3.x)
如果您想要替代会话/cookie,您可以查看网络令牌http://jwt.io/
请记住,如果您找不到您要找的东西,sailsjs 会在 expressjs 上运行,那么请始终搜索 express 解决方案。