基于 Web 的页面会话

Web-based page session

我想创建一个网络应用程序,用户可以在其中创建会话,即使在离开 page/browser 后也可以访问该会话。

例如 http://lichess.org where the user goes to 'Create a game' and a page is created. That page then remains accessible even after the session is finished; see: http://en.lichess.org/i8pV0vEv

基本上我想知道的是,为了产生类似的效果需要什么。多年来我编写了大量的程序,只是网络环境对我来说是新的! Scala 似乎是一个竞争者,但老实说我一点头绪都没有。也许 javascript?

如有任何建议,我们将不胜感激,谢谢。

Web 编程通常是无会话的,您需要 cookie 来模拟会话。您将其保存在客户的浏览器和数据库中,以便能够将它们联系在一起。或者您可以使用浏览器会话,它最终也是一个 cookie,但不能很好地扩展,因为它保存在网络服务器的内部机制中。

此处没有任何特定于 Scala 的内容,但如果您想尝试一下 Scala,请查看 Play framework. It's pretty beginner friendly and already has built in support for everything you would need like Sessions, Cookies and Database 访问。

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

  • 本地存储:将永久存在,您可以随时访问。
  • Session Storage:将一直存在,直到用户关闭浏览器时页面打开和清除window。

根据您的要求,我的建议是选择 Local Storage

使用本地存储的优势

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

使用本地存储的缺点

  • 在不支持 HTML5(在 IE 8、chrome 4、Mozilla 3.5、safari 4、opera 11.5 及更高版本中支持)的浏览器中无法使用
  • 用户将能够manipulate/delete该值(浏览器存储值可以使用浏览器开发工具的资源选项进行操作)
  • 如果用户以 In-cognito/in-private 模式访问,则不会是永久性的。(但会在会话期间存储。)
  • 数据限制至少 5MB
  • 当用户清除浏览器历史记录时,数据将被删除。

如需进一步参考,请查看 w3schoold http://www.w3schools.com/html/html5_webstorage.asp