首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过Ajax调用获取缓存通知数据?

如何通过Ajax调用获取缓存通知数据?
EN

Stack Overflow用户
提问于 2014-08-11 15:41:38
回答 1查看 188关注 0票数 2

我在我的web应用程序中使用推送通知服务,我的项目要求之一是缓存通过Ajax调用获得的通知数据,以便当用户从一个页面切换到另一个页面时可以查看相同的数据,

我有三个流程来实现上面的案例场景。

流量:1 在javascript对象中缓存通知数据,在使用$.param()重定向页面序列化obj时,在浏览器url中发送数据(在这种情况下,我的数据将是可见的)。 流量:2 在浏览器本地存储或会话存储中缓存数据,将数据从一个页面再次发送到另一个页面,对于不同的浏览器本地存储或会话存储,将如在此链接上提到的那样有所不同。 流动:3 由于我使用java作为服务器端语言,我可以在请求中向服务器发送通知obj,可以使用servlet会话存储通知,同时从一个页面切换到另一个页面加载一个servlet,该servlet在页面仍在加载时向我发送通知详细信息对象--这不是>考虑缓存,因为每次加载新>页时,我都必须加载和存储通知数据。

在这里,什么是更好的解决方案??,从流程1和2,通常有security issues,而流3是更安全的,但它将影响我的带宽数据限制。

编辑(我对流程1和流程2存在安全问题的原因)

folw-1:使用查询字符串传递数据是很容易实现的任务,但是在页面之间传递的每一个数据(以查询字符串的形式)在url中都是可见的,这与我们的项目需要相反。

flow-2与Nicholas C. Zakas给出的会话存储安全问题相关的链接描述如下

“登录到网站查看邮件,邮件应用程序将有关这些电子邮件的信息保存在sessionStorage中。然后,将选项卡切换到另一个窗口,在该窗口中注销正在读取电子邮件的帐户。这是非常可能的,当使用单一的登录ID,如雅虎!ID (但请注意,这只是一个例子,雅虎!实际上并不是这样的)。然后切换回电子邮件选项卡,即使您已经注销,您的数据仍然存在于sessionStorage中。单击各种电子邮件,从sessionStorage中检索数据并显示出来。您现在正在查看注销时的个人信息。“

我的问题如下

如何通过Ajax调用获取缓存通知数据?除了上述流程之外,还有其他方法吗!

提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-14 00:12:22

流程2,但使用本地存储。不限于窗口,使用如下所示的广播事件:http://bens.me.uk/2013/localstorage-inter-window-messaging (打开演示两次以查看它的运行情况)

这里的JS代码:http://blog.fastmail.fm/2012/11/26/inter-tab-communication-using-local-storage/

在注销事件中,您可以通过完全相同的窗口间消息清除本地存储,因此storage.clear()可以在任何地方清除。即OnClick -> storage.clear() -> POST/GO到注销请求

然后,您可以在服务器上设置数据库中的一个变量,以便如果它们被登录或不登录,如果它们立即发送数据,则重定向到登录页面(如果注销可能尚未影响到当前视图,则从不同的节点重新加载通知,因此快速查看change check,简单地检查旁边没有使用带宽,如果正确的话可能会重装几个字节)。

还可以添加一个检查,如果它是最后一个窗口,那么在卸载时清除本地存储。

对于存储在清晰视图字符串中的数据,在存储前采用加密算法,即通过随机数的计算改变所有二进制数据,然后将二进制表示存储在普通视图中。不是最安全的,但人类无法理解。另外,在一天结束时,如果有人想从本地存储中窃取您的数据,那么用户需要登录,而“黑客”需要让JS文件确切地知道它在寻找什么,所以目标非常明确。

因此,通过使int更改为像userid *随机int使用/姓氏二进制表示形式来改变它。因此,这是完全不同的,因此必须知道每个部分的关键计算。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25247162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档