仅客户端cookie - 不会转到服务器的cookie

时间:2012-06-18 12:08:40

标签: javascript jquery html cookies session-cookies

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

4 个答案:

答案 0 :(得分:10)

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

1)使用HTML5,您可以使用web storage

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

<强>更新

您也可以简单地将cookie的路径设置为实际不存在的路径。

document.cookie="name=value;path=/notExistingPath";

答案 1 :(得分:6)

如果关注浏览器兼容性,您可以使用一些javascript来包装各种不同的技术。较旧版本的IE支持(请求升级)localstorage的专有版本,称为userData(我不认为它完全相同,但应该做你需要的)。

http://www.jstorage.info/https://github.com/marcuswestin/store.js这样的包装器脚本应该按照您的需要执行操作。

答案 2 :(得分:2)

我100%确定没有办法强制cookie只是客户端,它们总是被发送到服务器。然而,可以通过在cookie上设置HttpOnly标志来执行相反的操作:仅服务器端cookie(不能通过javascript读取)。

答案 3 :(得分:1)

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

document.cookie = "cookieName=...; expires=... ; path=/never_reached/ablkappmqlnahsuia";