• 存储中的爱情:cookie、本地存储、会话存储


    七夕来袭!是时候展现专属于程序的浪漫了! cookie、本地存储、会话存储三者的爱情故事就此展开

    cookie、本地存储、会话存储三者均可以存储数据,存储的时效性有区别

    一、cookie

    1、cookie的构成

    名称Value
    名称一个唯一确定cookie的名称
    存储在cookie中的字符串
    cookie对于哪个域是有效的
    路径指定域中的指定路径
    失效时间cookie何时应该被删除的时间戳
    安全标志指定后,cookie只有在使用SSL连接时才发送到服务器(设置secure标准)

    2、cookie的限制

    绑定在特定域名下,无法跨越

    浏览器对cookie数量的限制规定不同(例如FF规定每个域名最多50个,二Safari和chrome没有数量限制)

    所有cookie的累加长度限制为4KB,超长会被忽略

    名称Value
    JS中的cookiedocument.cookie
    获取返回当前页面可用的所有cookie的字符串,由分号和空格隔开的一系列名值对(name1 = value1; name2 = value2;)
    添加cookie的值必须写成key = value的形式,且等号两边不能有空格写入时必须对分号,逗号和空格进行转义(encodeURLComponent()方法)一次只能写入一个cookie,并且写入不是覆盖,而是添加

    3、cookie的属性

    (除了cookie本身的内容,还有部分可选属性可以被写入,必须都以分号开头)

    名称Value
    value必需项,用于指定cookie的值
    expires指定cookie过期时间
    domain指定cookie所在域名(只有访问的域名匹配domain属性,cookie才会发送到服务器)
    path属性指定路径,必须是绝对路径
    secure指定cookie只能在加密协议https下发送到服务器
    httpOnly设置该cookie不能被JS读取

    二、window.localStorage(本地存储)

    本地存储,存储的数据没有过期时间

    名称Value
    语法:myStorage = localStorage;返回一个Storage对象
    添加:localStorage.setltem(‘key’,‘value’);
    获取:localStorage.getItem(‘key’);
    移除:localStorage.removeItem(‘key’);
    清空:localStorage.clear(); 不接收参数,清空存储对象里的所有数据

    注:各浏览器支持的localStorage容量上限不同

    三、window.sessionStorage(会话存储)

    会话存储,存储的数据会在浏览器会话结束时被清除(即浏览器关闭时)

    名称Value
    语法:myStorage = sessionStorage; 返回一个Storage对象
    添加:sessionStorage.setItem(‘key’,‘value’);
    获取:sessionStorage.hetItem(‘key’);
    移除:sessionStorage.removeItem("key);
    清空:sessionStorage.clear(); 不接受参数,清空存储对象里的所有数据
  • 相关阅读:
    【项目】基于C++11实现的数据库连接池
    Cortex-M3/M4之SVC和PendSV异常
    论文阅读之Reasoning Implicit Sentiment with Chain-of-Thought Prompting
    从零开始搭建Electron项目之运行例程
    Win系统VMware虚拟机安装配置(一)(附激活码安装包)
    滚动播报、el-scrollbar
    Spring Data JPA使用@DynamicUpdate注解进行Update部分更新
    面经-虚拟机-jvm内存结构
    springboot 查询count分页 效率问题
    flink-cdc同步mysql数据到elasticsearch
  • 原文地址:https://blog.csdn.net/qq_53810245/article/details/126190654