本地存储、会话和 Cookie 之间的区别2024 年 8 月 31 日 | 阅读 6 分钟 在服务器和客户端之间进行有效通信的最关键协议之一是 HTTP 协议。HTTP 协议的一个根本缺点是它是一个 无状态协议,这意味着它不跟踪服务器或客户端之间关于请求和响应的任何信息。因此,有三种方法可以跟踪重要信息来解决此问题。本文将解释 本地存储、会话存储 和 Cookie 之间的区别以及它们对 Web 开发人员的重要性。 本地存储此只读接口属性提供对文档本地存储对象的访问;数据会跨浏览器会话保存。与 sessionStorage 类似,不同之处在于 sessionStorage 数据会在页面会话过期或浏览器窗口关闭时删除。当浏览器最后一个 “隐私” 标签页关闭时,它会被清除(在隐私浏览或隐身会话中加载的文档的 localStorage 数据)。 DOMStrings 是使用 双字节 UTF-16 编码标准对数据进行编码的存储格式。与对象一样,字符串会从整数键自动创建。在文档中的一个协议与保存在 LocalStorage 中的数据相关。当使用 HTTP 加载网站时,LocalStorage 会提供一个与使用 HTTPS 加载的网站不同的对象(例如 https://abc.com)。 当文档从文件加载时(即直接从用户本地文件系统加载而不是从服务器加载)的行为先决条件是未知的,并且可能在不同的浏览器之间有所不同。在所有当前浏览器中,localStorage 似乎为每个文件:URL 返回一个单独的对象。本质上,似乎每个 URL:文件都有其自己的本地存储空间。 由于上述模糊的文件:URL 的行为无法保证。因此,浏览器在处理文件时可能会改变其方式。一些浏览器处理此问题的方式已随时间而改变。 本地存储有 4 种方法setItem() 方法 - 此方法需要两个参数:一个 键 和一个 值。它用于将值与特定位置的键名一起存储。 localStorage.setItem(key, value) getItem 方法 此方法仅需要 键参数,用于检索与特定键名 关联 的值。 localStorage.getItem(key) removeItem() 方法 - 可以使用此方法 删除 存储在内存中并引用键的值。 localStorage.removeItem(key) clear() 方法 - 可以使用此过程 清除 本地存储中保存的所有值。 localStorage.clear() 会话存储:它是什么?只读的 sessionStorage 属性提供对 Session Storage 对象 的访问。与会话存储数据在页面会话结束时删除不同,本地存储数据永不过期,这是两种存储类型的区别。 一旦文档在浏览器标签页上加载,就会生成一个独立的页面会话。页面会话一次只能有一个打开的标签页。页面重新加载和恢复后,页面仅在标签页或浏览器打开期间保存。与会话 Cookie 不同,每次打开标签页或窗口时都会启动一个新会话。同一 URL 打开多个标签页或窗口,每个标签页或窗口都会产生自己的 sessionStorage。当您复制一个标签页时,原始标签页的 sessionStorage 会被复制到复制的标签页。关闭窗口或标签页会结束会话并删除所有 sessionStorage 对象。 sessionStorage 中保存的信息取决于页面的协议。特别是,通过 HTTP(例如 http://abc.com)查看的脚本存储的信息与通过 HTTPS(例如 https://abc.com)访问的同一网站的数据存储在不同的对象中。在 UTF-16 DOMString 格式中,DOMString 数字的字符大小为两个字节。与对象一样,字符串会从整数键自动创建。 有 4 种存储会话的方法 setItem() 方法 - 此方法需要两个参数:一个 键 和一个 值。它用于将值与特定位置的键名一起存储。 sessionStorage.setItem(key, value) getItem() 方法 - 此方法仅需要 键参数,用于检索与特定键名关联的值。 sessionStorage.getItem(key) removeItem() 方法 - 可以使用此方法删除存储在内存中并引用键的值。 sessionStorage.removeItem(key) clear() 方法 - 此过程用于从会话存储中删除所有值。 sessionStorage.clear() Cookie“cookie” 一词仅指关于网站的 文本数据。当您访问特定网站时,该网站会在您的本地系统中保留某些信息,以识别您并根据您的偏好为您提供结果。Cookie 的使用一直是互联网历史的一部分。当有人访问网站时,他们会从服务器请求一个网页。发送到服务器的每个请求都是独立的。同样,如果您访问一百次,服务器会将每次访问识别为独立的请求。考虑到服务器每秒收到的请求量,在服务器上存储每个用户的信息似乎不合理且不清晰。如果您不再返回,则可能不再需要相同的信息。 为了唯一地识别您,Cookie 会被发送并保存在您的本地计算机上。下次您联系服务器时,它会做出响应,因为它已识别出您。几乎所有服务器都使用此 Cookie(今天有一些例外,因为广告)。因此,即使您的计算机上有很多 Cookie,服务器仍会识别并检查它们。 最初,Cookie 的创建是为了增强开发人员的体验。考虑浏览非母语网站(例如 英语)。您可以从网站的语言菜单中选择英语作为您的语言。如果您一天访问同一网站五次,则可能需要五次切换语言。因此,会在您的计算机上放置一个 Cookie,其中包含这些事实。它确保您下次发送请求时,服务器将知道您希望以英语访问该网站。在这种情况下,Cookie 很重要。今天的 Cookie 比上句话中的 Cookie 小得多。 Cookie、会话存储和本地存储之间的区别
结论本教程涵盖了本地存储、会话存储和 Cookie 之间的区别。已经看到了从这些存储中存储和检索数据的各种技术。本地存储是最新的方法。可以存储更大的数据(10MB)。但是,关闭浏览器时数据不会被清除。与 Cookie 类似,会话存储仅为当前会话保存信息。根据此,当用户退出浏览器时,数据将被清除。Cookie 是最古老、最知名的机制。它们易于使用,并具有强大的浏览器支持。但是,它们只能存储 4KB 的信息,并且通常用于存储非敏感信息,例如用户偏好。 下一主题区别 |
租赁和租借是房地产行业中常用的两个术语。它们描述了在一定时期内占用财产的过程。虽然这两个术语经常互换使用,但它们实际上有明显的区别。因此,重要的是...
阅读 8 分钟
局部变量和全局变量的区别 任何编程语言中的变量都起着至关重要的作用。根据作用域,变量分为全局变量和局部变量。全局变量和局部变量之间的主要区别在于全局变量可以在……
7 分钟阅读
LDL与HDL的区别 胆固醇对我们身体的正常运作至关重要。身体用它来产生激素、维生素D,辅助消化等等。肝脏会产生身体所需的足够胆固醇来执行各种重要的功能。除了...
阅读 3 分钟
生物与非生物的区别 世界上有许多东西要么是生物,要么是非生物。地球上有山脉、海洋、海滩等各种事物。但大自然提供的所有这些事物都被分为两个重要的种类,即……
阅读 4 分钟
自由和解放的区别 我们都听说过自由和解放这些词。历史上曾多次发生过为自由和解放而进行的抗议、斗争和战争。一个国家获得自由的过程非常困难。例如,印度在……
阅读 4 分钟
陆风与海风的区别 大自然是不可言喻的。有很多地方大自然美不胜收。大自然最好的部分之一是微风。我们在初中都学过两种重要的微风。这些...
5 分钟阅读
纵波与横波的区别 我们在物理课上学习了许多种波,如声波、频率波等。但在这些波中,纵波和横波是我们今天将要讨论的重要主题。那么,事不宜迟,让我们...
阅读 4 分钟
锁存器与触发器的区别 锁存器 锁存器是一种电子设备,其输出会根据施加的输入立即改变。我们使用锁存器在任何指定时间存储 0 或 1。在锁存器中有“设置”和“重置”两个输入,并且...
阅读 3 分钟
青柠与柠檬的区别 青柠和柠檬都是柑橘类水果,属于同一种柑橘科Rutacea。它们都很小,圆形,味道酸。人们经常混淆青柠和柠檬,因为它们有一些共同的特征。尽管它们看起来相似,但它们是不同的...
阅读 3 分钟
LCD与LED的区别 LCD和LED都是非常相关的,这就是为什么大多数人对它们感到困惑。需要注意的是,它们不相似,也不能互换使用。尽管它们都在许多相似的产品中使用,但是...
阅读 6 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India