【发布时间】:2014-10-04 12:15:34
【问题描述】:
我在我的Web应用程序中使用推送通知服务,我的项目需求之一是缓存通过Ajax调用获得的通知数据,以便用户从一个页面切换到另一个页面时可以查看相同的数据,
我有 3 个流程来实现上述案例场景
流程:1
在 javascript 对象和重定向页面时缓存通知数据 使用 $.param() 序列化 obj ,在浏览器 url 中发送数据(在这种情况下我的数据 将可见)。
流程:2
在浏览器本地存储或会话存储中缓存数据以发送数据 从一个页面到另一个页面再次在这里为不同的浏览器本地 存储或会话存储将在this link 上提及
流程:3
由于我使用 java 作为服务器端语言,我可以发送通知 obj 在对服务器的请求中,可以使用 servlet session 来存储通知 ,从一个页面切换到另一个页面时,加载一个发送给我的 servlet 在页面仍在加载时响应的通知详细信息对象这不是>考虑缓存,因为每次新页面加载时我都必须加载和存储通知数据。
这里有什么更好的解决方案? ,来自流 1 和 2,因为有 security issues 而流 3 更安全,但会影响我的带宽数据限制。
编辑(我的原因是流程 1 和流程 2 存在安全问题)
folw-1: 使用查询字符串传递数据我们很容易实现,但是页面之间传递的每个数据(以查询字符串的形式)在 url 中都是可见的,这违背了我们的项目需求
流-2 对于 flow-2,参考 Nicholas C 给出的这个链接描述。Zakas 会话存储的安全问题如下
"您登录网站查看您的邮件,邮件应用程序会保存信息 关于 sessionStorage 中的那些电子邮件。 然后,您将选项卡切换到另一个窗口,您可以在其中注销 正在读取您的电子邮件的帐户。这是很有可能的 使用 Yahoo! 等单点登录 ID 时身份证(但请注意 这只是一个例子,Yahoo!实际上并没有这样做)。然后是你 切换回电子邮件选项卡,您的数据仍然存在 sessionStorage 即使您已注销。点击各种 电子邮件从 sessionStorage 中检索数据并显示它。 您现在正在注销时查看个人信息。”
我的问题如下
如何缓存Ajax调用获取的通知数据?有吗? 除了上面的流量还有其他方式!!!
提前致谢
【问题讨论】:
-
您必须解释流程 1 和 2 的安全问题(如:从您的角度来看)。没有什么是非黑即白的;如果你去购物,把你家的门打开是一个安全问题,但如果你站在门前,可以这么说,这不是问题。无论如何,我都赞成这个问题,因为如果你改进它以减少固执己见,这有可能成为当今时代一个非常相关的问题。
标签: java javascript html session