33

我想将用户点击的数据存储在一个永远不必去服务器的 cookie 中。它就像一个会话添加的数据,我想在会话中持续存在,因为数据只是不断添加到 cookie 中,并且存储了很长时间,并且只有在用户删除浏览历史记录时才会被删除。cookie 是纯客户端的 cookie,它永远不必去服务器,因为我不需要服务器上的用户生成数据,所以我想摆脱 cookie 在之间来回发送时产生的额外开销浏览器和服务器。有可能实现这一目标吗?

4

4 回答 4

12

我知道这对你来说有点晚了,但这个答案适用于所有有同样问题的人。

1) 使用 HTML5,您可以使用 [网络存储][1]。

2)(只是一个想法!-未经测试!)您可以定义一个cookie(通过客户端上的javascript)并设置“安全”属性。在这种情况下,cookie 将仅通过 HTTPS 连接发送到服务器。为了确保 cookie 永远不会离开浏览器,您永远不会打开 HTTPS 连接;-)

于 2013-11-04T16:42:24.910 回答
9

如果浏览器兼容性是一个问题,您可以使用一些 javascript 来包装各种不同的技术。旧版本的 IE 支持(supprise supprise)名为 userData 的专有版本的本地存储(我认为它不完全相同,但应该做你需要的)。

https://github.com/andris9/jStoragehttps://github.com/marcuswestin/store.js这样的包装脚本应该可以满足您的需要。

于 2012-06-18T13:33:47.597 回答
4

我 100% 确定没有办法强制 cookie 仅在客户端,它们总是发送到服务器。然而,也可以做相反的事情:通过在 cookie 上设置 HttpOnly 标志,仅服务器端的 cookie(javascript 无法读取)。

于 2013-01-03T18:03:47.930 回答
1

使用不可能的路径来设置 cookie:

document.cookie = "cookieName=...; expires=... ; path=/never_reached/ablkappmqlnahsuia";
于 2016-09-06T08:44:45.027 回答