当前位置: 首页 > article >正文

javascript基础从小白到高手系列一:使用cookie 的注意事项

还有一种叫作HTTP-only 的cookie。HTTP-only 可以在浏览器设置,也可以在服务器设置,但只能
在服务器上读取,这是因为JavaScript 无法取得这种cookie 的值。
因为所有cookie 都会作为请求头部由浏览器发送给服务器,所以在cookie 中保存大量信息可能会影
响特定域浏览器请求的性能。保存的cookie 越大,请求完成的时间就越长。即使浏览器对cookie 大小有
限制,最好还是尽可能只通过cookie 保存必要信息,以避免性能问题。
对cookie 的限制及其特性决定了cookie 并不是存储大量数据的理想方式。因此,其他客户端存储技
术出现了。
Web Storage
Web Storage 最早是网页超文本应用技术工作组(WHATWG,Web Hypertext Application Technical
Working Group)在Web Applications 1.0 规范中提出的。这个规范中的草案最终成为了HTML5 的一部分,
后来又独立成为自己的规范。Web Storage 的目的是解决通过客户端存储不需要频繁发送回服务器的数
据时使用cookie 的问题。
Web Storage 规范最新的版本是第2 版,这一版规范主要有两个目标:
 提供在cookie 之外的存储会话数据的途径;
 提供跨会话持久化存储大量数据的机制。
Web Storage 的第2 版定义了两个对象:localStorage 和sessionStorage。localStorage 是
永久存储机制,sessionStorage 是跨会话的存储机制。这两种浏览器存储API 提供了在浏览器中不
受页面刷新影响而存储数据的两种方式。2009 年之后所有主要供应商发布的浏览器版本在window 对象
上支持localStorage 和sessionStorage。
Storage 类型
Storage 类型用于保存名/值对数据,直至存储空间上限(由浏览器决定)。Storage 的实例与其他
对象一样,但增加了以下方法。
 clear():删除所有值;不在Firefox 中实现。
 getItem(name):取得给定name 的值。
 key(index):取得给定数值位置的名称。
 removeItem(name):删除给定name 的名/值对。
 setItem(name, value):设置给定name 的值。
getItem()、removeItem()和setItem()方法可以直接或间接通过Storage 对象调用。因为每
个数据项都作为属性存储在该对象上,所以可以使用点或方括号操作符访问这些属性,通过同样的操作
来设置值,也可以使用delete 操作符删除属性。即便如此,通常还是建议使用方法而非属性来执行这
些操作,以免意外重写某个已存在的对象成员。
通过length 属性可以确定Storage 对象中保存了多少名/值对。我们无法确定对象中所有数据占用
的空间大小,尽管IE8 提供了remainingSpace 属性,用于确定还有多少存储空间(以字节计)可用。


http://www.kler.cn/a/506653.html

相关文章:

  • DNS介绍与部署-Day 01
  • 换了城市ip属地会变吗?为什么换了城市IP属地不变
  • 《Keras 3 在 TPU 上的肺炎分类》
  • SparkSQL数据模型综合实践
  • Windows 蓝牙驱动开发-蓝牙设备栈
  • 简单组合逻辑
  • 【编译构建】用cmake编译libjpeg动态库并实现转灰度图片
  • AST抽象语法树
  • Vue 和 uniApp 中 CSS 样式差别
  • Dart语言的多线程编程
  • VUE中css样式scope和deep
  • 创客匠人老蒋:创始人IP如何为传统产业注入新活力?
  • kubernetes V1.32强制删除namespace
  • 什么是CDN,为什么他可以做缓存?
  • easyui datagrid表头和网格错位问题
  • 【0393】Postgres内核 checkpointer process ③ 构建 WAL records 工作缓存区
  • 1月15学习
  • 掌握C语言内存布局:数据存储的智慧之道
  • 1️⃣Java中的集合体系学习汇总(List/Map/Set 详解)
  • Ubuntu 系统支持高刷显示:探索与实践
  • 深入Android架构(从线程到AIDL)_33 JNI开发与NDK 01
  • vscode 极简Linux下 cmake c++开发环境
  • ASP.NET Core - 配置系统之配置添加
  • FIDO2密码钥匙与无密码认证:打造安全便捷的数字世界
  • 建造者模式(或者称为生成器(构建器)模式)
  • Web3如何赋能元宇宙中的数字身份与隐私保护