欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

基于Cookie常用操作以及属性介绍

程序员文章站 2022-11-24 23:35:01
概述 最近项目要用到cookie存储部分用户信息;研究了一下做一下分享 cookie 是服务器保存在浏览器的一小段文本信息,每个 cookie 的大小一般不能超过4kb...

概述

最近项目要用到cookie存储部分用户信息;研究了一下做一下分享

cookie 是服务器保存在浏览器的一小段文本信息,每个 cookie 的大小一般不能超过4kb。浏览器每次向服务器发出请求,就会自动附上这段信息。

设置cookie存储

document.cookie = 'username=fengkaicahng';

注意 设置cookie一次只能存储一条

cookie可以多次设置 key相同不会重新赋值而是会新建一条cookie

读取cookie

var allcookies = document.cookie;

//一次读取所有cookie 字符串形式
//所以一般我们还要做一次转换

var cookiesarray = document.cookie.split(';');

 console.log(cookiesarray);

cookie的几个属性

value (必须)一个键值对,用来指定cookie的值

document.cookie = 'username=fengkaicahng';

expires 指定cookie过期时间;格式采用date.toutcstring()

var day = new date();
 day.settime(day.gettime()+(1*24*60*60*1000));

//设置一天的有效期
//如果不设置; 默认时间是当前会话窗口关闭即失效

document.cookie = 'username=fengkaicahng;expires="+day+"';

domain 指定发送cookie的域名

 var day = new date();
 day.settime(day.gettime()+(1*24*60*60*1000));

//只有在该域名下才发送cookie,
//如果不设置; 默认是设置cookie时的域名
//以下配置会在fengkaichang.com 的所有子域名下生效

document.cookie = 'username=fengkaicahng;expires='+day+';domain=fengkaichang.com;

path 指定cookie的路径

var day = new date();
 day.settime(day.gettime()+(1*24*60*60*1000));

//只有这个路径和发送到服务器的路径相同才发送cookie 可以直接配置/ 从根目录下匹配 这个匹配并不是绝对的,
//如果不设置; 默认是请求该cookie时的路径
//以下配置会在fengkaichang.com 的所有请求路径下生效
//注意 path生效的前提是domain匹配成功,否则都是扯淡


document.cookie = 'username=fengkaicahng;expires='+day+';domain=fengkaichang.com;path=/'

secure 指定cookie只能在加密协议https下发送到服务器

var day = new date();
 day.settime(day.gettime()+(1*24*60*60*1000));

//这个属性的值是一个布尔值
//如果这个通信协议是https那么协议自动打开
//如果手动设置 一下配置不会在普通http协议下发送

document.cookie = 'username=fengkaicahng;expires='+day+';domain=fengkaichang.com;path=/;secure=true'

以上这篇基于cookie常用操作以及属性介绍就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。