1.什么是cookie
cookie 全称HTTP cookie,简称cookie。
是浏览器存储数据的一种方式,因为存储在用户本地,而不是存储在服务器上,是本地存储。
一般会自动随着浏览器每次请求发送到服务器端。
2.cookie有什么用
利用cookie跟踪统计用户访问该网站的习惯,比如什么时间访问,访问了那些页面,在每个网页的停留时间等。
3.在浏览器中操作cookie
不要在cookie中保存密码等敏感信息
cookie的基本用法
写入cookie
document.cookie ='age=19';
不能一起设置,只能一个一个设置
读取cookie
console.log(document.cookie);
读取的是一个由名值对构成的字符串,每个名值对之间由“ ;”(一个分号和一个空格)隔开
4.cookie的属性
cookie的名称(name)和值(value)(Domain域、Path路径、HttpOnly、secure)
cookie 名称或值如果包含非英文字母,则写入时需要使用encodeURLcomponent()
进行编码,读取时使用decodeURLcomponent()
进行解码
例:document.cookie='username=${encodeURlcomponent
(‘张三’)}’
5.失效(到期)时间
对于失效的cookie,会被浏览器清除,如果没有设置失效(到期)时间,这样的cookie称为会话cookie,它存在内存中,当会话结束,也就是浏览器关闭时,cookie消失。
想长时间存在,设置expies 值Date类型或Max-Age
document.cookie='user=alex;expies=${bew Date('2100-01-01 00:00:00')}';
max-age
值为数字,表示当前时间是多少秒后过期,单位是秒
document.cookie='user=alex;max-age=5`
6.Domain域
Domain限定了访问cookie的范围
使用js只能读写当前域或父域(cookie,无法读写其他域的cookie)
7.Path路径
path限定了访问cookie的范围(同一个域名下)
document.cookie='username=alex;path=(course)list';
使用js只能读写当前路径和上级路径的cookie,无法读写下级路径的cookie。
当name、Domain、Path这了个字段都相同的时候,才是同一个cookie
8.HttpOnly
设置了Httponly属性的cookie不能通过js去访问
9、secure安全标志
secure限定了只有在使用了Https而不是http的情况下才可以发送服务端。
Domain、path、secure都要满足条件,还不能过期的cookie才能随着请求发送到服务端。
10.cookie的封装
引入import{set,get,remove}from'/cookie.js';
写入
const set=(name,value,{maxage,domain,path,secure})=>{}