基于Web的页面会话

时间:2015-06-22 10:52:14

标签: javascript scala session web web-applications

我想创建一个用户可以创建会话的Web应用程序,即使在离开页面/浏览器后也可以访问该会话。

一个示例是http://lichess.org,用户转到“创建游戏”并创建页面。即使在会话结束后,该页面仍可访问;见:http://en.lichess.org/i8pV0vEv

基本上我想知道的是,为了产生类似的效果需要什么。多年来我一直编程吨,只是网络环境对我来说是新的!斯卡拉似乎是一个竞争者,但说实话,我不知道。也许是javascript?

任何建议都将不胜感激,谢谢。

2 个答案:

答案 0 :(得分:0)

Web编程通常是无会话的,您需要cookie来模拟会话。您可以将其保存在客户端的浏览器和数据库中,以便将它们绑定在一起。或者您可以使用最终也是cookie的浏览器会话,但由于它保存在Web服务器的内部机制中,因此无法很好地扩展。

这里没有特定的Scala,但如果您想尝试Scala,请查看Play framework。它非常适合初学者,并已内置支持您需要的所有内容,例如SessionsCookiesDatabase访问权限。

答案 1 :(得分:0)

如果您想永久存储用户会话数据而不管用户是否在网站上,您可以使用HTML 5的浏览器存储设施。 您可以以键值对的形式在用户的浏览器上存储数据,并且数据将永久存在(基于您正在使用的浏览器存储类型),您可以使用javascript轻松操作数据。 主要有两种类型的浏览器存储。

  • 本地存储:将永久存在,并且可以随时访问。
  • 会话存储:当用户关闭浏览器窗口时,该页面将一直打开并清除。

根据您的要求,我的建议是选择本地存储

使用本地存储的优点

  • 可以使用JavaScript轻松操作。
  • 将是永久性的。
  • 因此,无需加载和管理服务器端脚本。

使用本地存储的缺点

  • 不适用于不支持HTML5的浏览器(IE 8,Chrome 4,Mozilla 3.5,Safari 4,Opera 11.5及以上版本支持)
  • 用户可以操作/删除值(可以使用浏览器开发者工具的资源选项操纵浏览器存储值)
  • 如果用户以In-cognito /私密模式访问,则不会是永久性的。(但会在会话期间存储。)
  • 数据限制至少为5MB
  • 当用户清除浏览器历史记录时,将删除数据。

进一步参考结帐w3schoold http://www.w3schools.com/html/html5_webstorage.asp