什么是Cookie?Cookie的特征都有哪些?Cookie如何存储与获取?

1、什么是cookie?
cookie实际上就是一些信息,这些信息以文件的形式存储在客户端计算机上。当用户访问了某个网站,可以通过cookie向访问者电脑上存储数据。
比如:自动登录 用户名

2、创建cookie
document.cookie = “username=value”;

3、Cookie的存储
cookie临时存储在本机,在打开网址时或者提交表单时自动裹挟着cookie数据发送到服务器,并且服务端程序可以继续裹挟着新的cookie内容存储在你的电脑的cookie中。
cookie只能在页面通过服务打开的情况下才可以使用,ajax也是,双击打开页面无法使用。
cookie存储时容量5kb, 但是这个是针对当前文件夹路径的存储,子文件夹将会有新的存储空间。
cookie存储的数据类型是字符串。
cookie存储是以域名区分,不同域名的存储是无法共享的 一般有50条。
如何清除过期时间?只需要将cookie存储重新设置不加过期时间,就可以完成清除过期时间。
如果浏览器中设置了不存储cookie或者手动清除cookie,以上内容都会丢失。
Cookie默认是临时存储的,当浏览器关闭时,自动销毁。

4、Cookie的缺点
cookie可能被禁用。当用户非常注重个人隐私保护时,他很可能禁用浏览器的cookie功能;
cookie是与浏览器相关的。这意味着即使访问的是同一个页面,不同浏览器之间所保存的cookie也是不能互相访问的;
cookie可能被删除。因为每个cookie都是硬盘上的一个文件,因此很有可能被用户删除;
cookie安全性不够高。所有的cookie都是以纯文本的形式记录于文件中,因此如果要保存用户名密码等信息时,最好事先经过加密处理。

5、cookie的生存期
在默认情况下,cookie是临时存在的。在一个浏览器窗口打开时,可以设置cookie,只要该浏览器窗口没有关闭,cookie就一直有效,而一旦浏览器窗口关闭后,cookie也就随之消失。如果想要cookie在浏览器窗口之后还能继续使用,就需要为cookie设置一个生存期。所谓生存期也就是cookie的终止日期,在这个终止日期到达之前,浏览器都可以读取该cookie。一旦终止日期到达之后,该cookie将会从cookie文件中删除。
设置生存时间:document.cookie =“名称=值;expires=”+ 时间;(时间必须是一个字符串)
var d= new Date();
d.setHours(d.getHours() + (24 * 30)); //保存一个月
document.cookie=“visited=yes; expires=” + d.toUTCString();//d.toUTCString();将时间转化字符串

6、如何多个内容存储
var obj={
user:“xietian”,
age:30,
sex:“男”
}

    function setCookie(obj,date){
        for(var prop in obj){
            document.cookie=prop+"="+obj[prop]+(date ? ";expires="+date.toUTCString() : "");
        }
    }
    function setCookie1(key,value,date){
            document.cookie=key+"="+value+(date ? ";expires="+date.toUTCString() : "");
    }
    var date=new Date();
    date.setFullYear(2022);
    setCookie(obj,date);

7、获取cookie值
方法一:
var o=getCookie();//执行函数
function getCookie(){
var obj={};//创建一个空对象
var arr=document.cookie.split("; “);//用分号和空格把 cookie分开,存在arr数组里。
for(var i=0;i var str=arr[i];
var arr1=str.split(”=");//用等号把数组arr的每一 项分开,存在arr1数组里。
var key=arr1[0];//键值等于等号左边的也就arr1[0]。
var value=arr1[1];//值等于等号右边的也就arr1[1]。
obj[key]=value;
}
return obj;
}

方法二:利用reduce 归并
var o=getCookie();//执行函数
function getCookie(){
//用分号和空格把cookie分开,然后用reduce归并,value的初始值是个空对象。
return document.cookie.split("; “).reduce((value,item)=>{
var arr=item.split(”=");//把每一个元素用等号分隔开并且存储到数组里。
value[arr[0]]=isNaN(arr[1]) ? arr[1] : Number(arr[1]);
return value;
},{});
}

8、cookie的功能
cookie的主要作用是保存信息,并与服务器互动,因此在很多情况下都可以使用到cookie。
密码 cookie:当访问者首次访问页面时,也许会填写密码。密码也可被存储于 cookie 中。当他们再次访问网站时,密码就会从 cookie 中取回。

你可能感兴趣的:(javascript)