cookie、localStorage、JSON字符串

1、什么是cookie

Cookie是由服务器端生成的,发送给User-Agent(一般是浏览器),(服务器告诉浏览器设置一下Cookie),浏览器会将cookie以key/value 的形式保存在某个目录下的文本文件内,下一次请求同一网站时就发送该Cookie服务器(前提是浏览器设置Cookie)

 cookie使用场景:

  1. 会话管理:登陆、购物车等应该记住的其他内容

  2. 个性化:用户偏好、主题或者其他设置

  3. 追踪:记录和分析用户行为

Cookie的特点 :

  1. 有生命周期
  2. 满足同源策略
  3. 内存大小受到限制(一般4k左右)

cookie的分类:

  •   Session Cookies

  • Persistent Cookies

cookie原理:

 第一次访问网站的时候,浏览器发出请求,服务器响应请求后,会将cookie放入到响应请求中(就在http响应报文的header中Set-Cookie项),在浏览器第二次发请求的时候,会把cookie带过去(http请求报文header中的cookie项),服务端会辨别用户身份,当然服务器也可以修改cookie内容。

2、什么是 localStorage

localStorage 是 HTML5 提供的一个 API,他本质上是一个hash(哈希表),是一个存在于浏览器上的 hash(哈希表)。

localStorage生命周期是永久,这意味着除非用户显示在浏览器提供的 UI 上清除 localStorage 信息,否则这些信息将永远存在。存放数据大小为一般为5MB,而且它仅在客户端(即浏览器)中保存,不参与和服务器的通信。

 localStorage使用方法:

localStorage.setItem("key","value");	//以“key”为名称存储一个值“value”

localStorage.getItem("key");	//获取名称为“key”的值

localStorage.removeItem("key");	//删除名称为“key”的信息。

localStorage.clear();	//清空localStorage中所有信息

localStorage 是一个保存于客户端的哈希表,可以用来保存本地的一些数据。并且不会因为刷新而释放,所以,可以使用 localStorage 来实现变量的持久化存储

 localStorage的特点:

  • localStorage 与 HTTP 没有任何关系,所以在HTTP请求时不会带上 localStorage 的值
  • 只有相同域名的页面才能互相读取 localStorage,同源策略与 cookie 一致
  • 不同的浏览器,对每个域名 localStorage 的最大存储量的规定不一样,超出存储量会被拒绝。最大存5M 超过5M的数据就会丢失。而 Chrome 10MB 左右
  • 常用来记录一些不敏感的信息
  • localStorage 理论上永久有效,除非用户清理缓存

3、什么是JSON字符串 

  • JSON是一种特殊的字符串格式,本质是一个字符串
  •  像对象和数组,里面的key和value如果是字符串格式,都用双引号包裹(必须是双引号)

 JSON的两个方法:

            **1. JSON.parse(json字符串):可以把json字符串转换成对象或者数组
            2. JSON.stringify(对象或者数组):可以把对象或者数组转换成json字符串**

 JSON语法 注意事项

1.对象中的key和value都使用双引号包裹,数字和布尔值可以不用双引号包裹
2.数组里卖可以放多个对象
3.多个数据时,最后一个数据不能有逗号
4. JSON格式中,可以使用的符号只能是 { } [ ] " 双引号" 逗号

 // JSON格式的字符串
    var jsonObj = '{"name":"lucy","age":18,"love":"写代码"}'
    var jsonArr = '[1,2,3,4,5,6]'
// JSON.parse(json字符串):可以把json字符串转换成对象或者数组
var obj = JSON.parse(jsonObj);
var arr = JSON.parse(jsonArr)
console.log(obj);// 转换后是js对象   {name: 'lucy', age: 18, love: '写代码'}
console.log(arr);// arr就是我们的js数组 数组里面可以放多个对象

// JSON.stringify(对象或者数组):可以把对象或者数组转换成json字符串
var obj2 = {
    a:1,b:2,gender:'男'
}
var arr2 = [
    {a:1,b:2,gender:'男'},
    {a:10,b:20,gender:'女'}
]
var jsonObj2 = JSON.stringify(obj2);
var jsonArr2 = JSON.stringify(arr2)
console.log(jsonObj2);// json字符串
console.log(jsonArr2);// json字符串

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值