对于针对移动浏览器的 Web 应用程序,我应该使用 localStorage 而不是 cookie 吗?

Posted

技术标签:

【中文标题】对于针对移动浏览器的 Web 应用程序,我应该使用 localStorage 而不是 cookie 吗?【英文标题】:Should I use localStorage instead of cookies for web app targeted at mobile browsers? 【发布时间】:2011-07-16 20:33:17 【问题描述】:

我正在构建一个基于位置的网络应用程序,它将主要在移动浏览器上运行。它将使用 html5、javascriptphp 进行编码。我希望尽可能少地提示用户登录。我希望他们登录(通过 PHP),然后保持登录 x 时间。

我知道如何使用 cookie 来做到这一点,但我一直在尝试使用 HTML5 localStorage。如果我使用 localStorage,我必须使用 javascript 进行所有验证并通过 Ajax 将其发送到 PHP。当我在考虑如何完成这项工作时,我想知道使用 localStorage 是否真的值得。据我了解,它比 cookie 更安全,因为不是每个 HTTP 请求都传输数据,并且无法跨域访问。但是,现代浏览器(如 iosandroid)难道不会阻止跨域访问 cookie 吗?

我只是在使用 localStorage 让自己变得更难吗?在这种情况下,选择 localStorage 而不是 cookie 的原因是什么?

【问题讨论】:

【参考方案1】:

cookies和localStorage有两种不同的用途,主要是cookies供服务端读取,localStorage供客户端读取。

如果您的客户端需要这些数据,那么可以,使用 localStorage(通过不为每个 HTTP 请求[在标头中]发送 cookie 来节省带宽)。但是,如果您不是,那么请坚持使用 cookie。如果您所做的只是让服务器端访问这些数据,那么发出额外的 HTTP 请求(通过 ajax)向服务器发送 cookie 有点过头了。

【讨论】:

谢谢!这就说得通了。我没有得到的部分是本地存储是用于客户端实际使用的数据。 谢谢,这是我读过的关于这两者有何不同的最佳解释。 我知道这篇文章已经晚了,虽然 cookie 只有 4kb 的上限,而 localStorage 的上限约为 5mb,而且我已经测试过 iPhone,其存储上限远远超过 5mb...其他访问此的人的未来参考。

以上是关于对于针对移动浏览器的 Web 应用程序,我应该使用 localStorage 而不是 cookie 吗?的主要内容,如果未能解决你的问题,请参考以下文章

架构最佳实践:Rails 和移动/Web 应用程序

2020年,全栈开发者应该学些啥?(三)

移动web终端 viewport设置

我的基于 Web 的应用程序应该成为我的 api 的消费者吗?

现在不少针对移动端的WEB前端UI框架,有没有针对PC端的web前端UI框架,bootstarp除外,请大神们介绍几款

将 ionic 用作桌面 Web 应用程序