cookie介绍 内容比较少 了解为主

1.http协议讲解

http和https是遵从tcp/ip之上的协议

http和https(安全) 他们都是负责网络通信 主要浏览器访问 浏览器访问服务器 服务器给我浏览器数据

关于http的特点

无状态 (同时2个客户端请求服务器端 他是没有办法分辨谁是谁)需要标识了(房卡)

无连接 (2者的数据发送完  就断开连接)

cookie 他就是用来解决http的无状态(认为是标识)

每次请求都是会带上cookie cookie存储在浏览器上

session叫会话 浏览器和服务器通信的过程会产生会话(每一次会话产生对应的sessionId)

每次会话产生都会有一个cookie新建 里面存放的是会话的sessionId

cookie只能存放少量的数据 最多4kb cookie只能存放string类型的值

总结以上就是:存放在浏览器上的一个只有4kb的容器 他可以解决http请求的无状态问题 而且每次会话里面都会保存对应的sessionId 且每次请求都会带上 里面存放的为string类型的值

2.cookie的相关操作

cookie里面的数据存储以键值对的形式存储 key:value

 完整格式 name=value;[expires=date];[path=路径];[domain=域名];[secure] 带[]都是可以省略

 name=value 对应的存值

expires 日期(过期日期)

path 路径

domain  域名

secure  安全性设置

 console.log(document.cookie);

存值  需要传递key和value

document.cookie = `年龄=李四,sex=张三`  //直接这样设置默认的过期时间为你浏览器关闭(会话结束)以后

我们也可以使用浏览器自带的清除浏览器记录的功能强行清除cookie

document.cookie  可以获取  也可以设置  获取是string类型  设置是添加一个新的cookie

console.log(document.cookie);

encodeURIComponent() //对数据进行编码  ascii码  针对于这2个办法低版本浏览器不支持中文解决

var str = encodeURIComponent('刘德华')

decodeURIComponent()对数据进行解码

console.log(decodeURIComponent(str));

删除  设置expires属性(设置过期时间)  时间如果已经过去就不会有过期了  到达对应的时间  自动失效

document.cookie = 'name=jack;expires=' + new Date('2022/3/30 15:31:00')

3.cookie的封装

存值 document.cookie 进行赋值

document.cookie = 'name=jack'
只会存在一个cookie 因为对应的键一致 重新给指定的键赋值相当替换

document.cookie = 'name=rese'

取值

 console.log(document.cookie);

 

 删除 设置过期时间 expires 设置过期时间 设置为当前时间的意思就是说关闭就过期

document.cookie = 'name=rose;expires=' + new Date()

Path属性 指定对应的目类下文件都可以 也就是对应根路径的请求都会带上这个cookie

document.cookie = 'name=rose;expires=' + mew Date() + ';path=/'

domain属性 指定域名 只在这个域名访问下才带上cookie

document.cookie = 'name=rose;expires=' + mew Date() + ';path=/;domain=http://www.baidu.com'

 secure 安全 带上就是只有https才能访问 不带都可以访问

document.cookie = 'name=rose;expires=' + mew Date() + ';path=/;domain=http://www.baidu.com/secure'

4.json格式数据

json是一种结构化的数据格式  他常用于数据传输及相关数据处理

现阶段才有的数据传输方式通常都是json格式(之前xml传输)所有的语言都具备

json格式的数据写法  []数组{}对象

其实就是一个数组对象  里面的键通常为string类型(建议使用双引号  json格式单引号会报错)

var json = [{
       "name":"李四",
        "age":18


},{
        "name":"王五",
        "age":18

}]
console.log(json{1}.name);  //获取王五
var json1 = {
    "arr":["a","b"]
}
console.log(json1.arr[1]);//获取b
var str = `[{
    "name":"李四",
        "age":18

},{
     "name":"王五",
        "age":18
       
}]`
 var obj =eval(str) //eval可以将json格式的字符串转2为对应的对象  eval会造成安全问题(不推荐的写法)
console.log(obj[0].name);
//使用JSON对象的静态方法JSON.parse()里面传入对应的json格式字符串  可以将其转为对象(常用的)

var obj1 = JSON.parse(str)
console.log(obj1[0].name)
//对应的将对象转为json格式字符串  JSON.stringify()  里面传入对象  将其转为json格式字符串
var jsonstr = JSON.stringify(obj1)
console.log(typeof jsonStr);
console.log(jsonStr);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值