我想在用户的浏览器(或任何设备/移动浏览器)上为下一个会话存储一些非机密数据。我可以将它存储在 cookie 上,但我不想在任何请求中将 cookie 发送到服务器。
我只需要存储和检索大约 5 个键值对,仅限客户端。cookie 是否适合此目的,还是我应该考虑本地存储?跨浏览器支持非常重要。
我想在用户的浏览器(或任何设备/移动浏览器)上为下一个会话存储一些非机密数据。我可以将它存储在 cookie 上,但我不想在任何请求中将 cookie 发送到服务器。
我只需要存储和检索大约 5 个键值对,仅限客户端。cookie 是否适合此目的,还是我应该考虑本地存储?跨浏览器支持非常重要。
localStorage
支持得很好。
AmplifyJS为其他浏览器提供非 cookie 回退,cookie 是最后的手段。
LocalStorage
是要走的路。看看这个很棒的演示文稿。
Cookies 是 pre-ajax 并且最初被实现为始终在服务器请求中发送。如果您实际上支持旧浏览器,我会使用带有 cookie 的本地存储作为后备。无论如何,仍在使用 IE7 及以下版本的人并不完全是性能猎犬。如果问题更多与后端成本有关,我建议进行民意调查以了解有多少用户可能实际依赖于 cookie 后备。成本实际上可能并不大。IE6 的使用几乎无关紧要,IE7 被边缘化到人们也放弃支持的程度。但大多数情况下,我会像疯狗一样努力避免对超过 5 年历史的浏览器的优雅降级支持。它彻底解决了很多问题,打开了很多新的大门。