【问题标题】:Is it possible to provide a specific URL to be used for anyone bookmarking a page within a web application?是否可以提供一个特定的 URL 供任何人在 Web 应用程序中为页面添加书签?
【发布时间】:2015-02-09 13:30:02
【问题描述】:

我有一个场景,用户正在将书签添加到 Web 应用程序中特定于时间/会话的页面。任何访问书签的用户都会自动重定向到登录,但随后他们会被重定向到“无效会话页面”并返回主页。

我是否可以在我的标记或脚本中添加一些东西,它可以告诉浏览器一个特定的链接地址,以便在 Web 应用程序中随时使用,这基本上会在保存之前从 URL 中删除任何参数。

我确实找到了这个元标记 <link rel='bookmark'title='Google' href='http://google.com/'>,但正如 this post 解释的那样,这对我没有帮助。

【问题讨论】:

  • 这应该在网络服务器上配置。

标签: javascript html bookmarks


【解决方案1】:

不,这是不可能的。

相反,重新设计您的网址,使其不是特定于会话的。完全摆脱会话,而不是用于登录目的。在现代网站中,如果用户在很长一段时间后返回,最应该发生的情况是,他们在回到原来的位置之前看到了一个登录页面。

如果这听起来不切实际,我建议您问一个问题,描述您在会话状态中保留哪些信息以及如何更改它。

一般情况下,取决于信息的类型,应该存储:

  • 在您的数据存储中,与用户相关联,而不是会话(用于大量特定于用户的内容,例如“我正在撰写的草稿”),
  • 在 URL 本身中(所有“我在看什么视图”信息),或
  • 在浏览器存储中(cookie、localStorage 等;不是首选,因为用户可能会在所有网站上删除它或更改浏览器)。

【讨论】:

  • Cookies 和 localStorage 等价于会话并且也会过期,你不应该依赖它来获取应用程序状态。应通过 URL 保留应用程序状态。用户对象也不用于应用程序状态,用户对象主要用于用户偏好、设置等。
  • @DanielAranda 它们不会过期,它们可以删除。我在细节上添加了更多内容并警告了这一点,但我不是在这里写一篇关于适当 REST 的史诗,只是为了就应该在哪里寻找以及下一个要问的问题提供一些广泛的建议。跨度>
  • 谢谢。我使用 MVC 并且不使用任何会话,所有数据都存储在数据库中,但作为示例,数据将在服务器上处理(或发布)并分配一个 ID。当有人随后添加书签时,该 ID 包含在 URL 中,但一旦重新处理该数据,它就会被赋予一个新 ID,从而创建一个无效的 URL。我真的希望有一种方法可以删除这些 URL 参数,这样人们就不会一直点击无效、过期的 ID。
  • @wf4 您可以随时将服务器的“过期 ID”响应更改为有用的页面。更好的是,将 input 的 ID 放在 URL 中,而不是输出的 ID,这可用于定位新版本并提供服务!
猜你喜欢
  • 2021-07-03
  • 1970-01-01
  • 2016-01-14
  • 2022-11-15
  • 1970-01-01
  • 1970-01-01
  • 2012-12-02
  • 2012-01-02
  • 1970-01-01
相关资源
最近更新 更多