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