我想通过将所有Cookie移到本地存储中来减少其加载时间,因为它们似乎具有相同的功能。除了明显的兼容性问题以外,使用本地存储替换cookie功能是否有任何利弊(尤其是性能方面的优势)?
Cookies和本地存储有不同的用途。Cookies主要用于读取 服务器端 ,本地存储只能由 客户端 读取。所以问题是,在您的应用程序中,谁需要此数据-客户端还是服务器?
如果它是您的客户端(您的JavaScript),则一定要切换。通过在每个HTTP标头中发送所有数据来浪费带宽。
如果是您的服务器,则本地存储不是那么有用,因为您必须沿某种方式转发数据(使用Ajax或隐藏的表单字段等)。如果服务器仅需要每个请求的全部数据的一小部分,则可以这样做。
无论哪种方式,您都希望将会话cookie保留为cookie。
根据技术差异以及我的理解:
除了作为一种古老的数据保存方式之外,Cookie还为您提供了 4096 个字节的限制(实际上为4095 个 字节),它是每个cookie的限制。本地存储是一样大的 每个域5MB - 也提到了它。
localStorage是Storage接口的实现。它存储 没有到期日期的 数据,并且 仅 通过JavaScript或清除浏览器缓存/本地存储的数据来清除-与cookie到期不同。
localStorage
Storage