概述

最近项目要用到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'

更多内容请关注 冯凯昌博客 www.fengkaichang

Cookie常用操作以及属性的更多相关文章

  1. cookie 常用操作

    Cookie:指网站为了辨别用户身份.进行会话跟踪而储存在用户本地的 key/value 型数据(通常经过加密), cookie key/value 型数据可以由服务器端自己定义. Cookie是由服 ...

  2. Java中Cookie常用操作类(Spring中操作Cookie)

    说明:Cookie下用Key取值没有快速的方法,只能便利循环去取. 技巧:置0则cookie会立即删除,设置-1,负值则会在关闭浏览器后删除.切记一定要增加路径:setPath("/&quo ...

  3. javascript中cookie常用操作

    //写cookies function setCookie(c_name, value, expiredays){ var exdate=new Date(); exdate.setTime(exda ...

  4. selenium常用操作,查找元素,操作Cookie,获取截图,获取窗口信息,切换,执行js代码

    目录: 1. 常用操作 2. 查找元素 3. 操作Cookie 4. 获取截图 5. 获取窗口信息 6. 切换 7. 执行JS代码 简介 selenium.webdriver.remote.webdr ...

  5. java:Cookie(常用操作),Cookie和Session免登录实例

     1.常用操作: package cn.zzsxt.lee.web.cookie; import java.io.IOException; import javax.servlet.ServletEx ...

  6. (转载)StringGrid常用属性和常用操作

    Delphi StringGrid常用属性和常用操作 StringGrid组件用于建立显示字符串的网格,与电子表格相似.它可使表格中的字符串和相关对象操作简单化.StringGrid组件提供了许多可控 ...

  7. (转载)Delphi StringGrid常用属性和常用操作

    Delphi StringGrid常用属性和常用操作 StringGrid组件用于建立显示字符串的网格,与电子表格相似.它可使表格中的字符串和相关对象操作简单化.StringGrid组件提供了许多可控 ...

  8. 关于Cookie 的HttpOnly属性(java/web操作cookie+Tomcat操作jsessionid)

    关于Cookie的其它只是不在累述.本文主要讲讲自己在项目中遇到的cookie的HttpOnly属性问题 Cookie的HttpOnly属性说明 cookie的两个新的属性secure和Httponl ...

  9. Delphi StringGrid常用属性和常用操作

    StringGrid组件用于建立显示字符串的网格,与电子表格相似.它可使表格中的字符串和相关对象操作简单化.StringGrid组件提供了许多可控制网格外观念的属性,以及利用表格的结构响应用户操作的事 ...

随机推荐

  1. Spring源码情操陶冶-AbstractApplicationContext#finishBeanFactoryInitialization

    承接前文Spring源码情操陶冶-AbstractApplicationContext#registerListeners 约定web.xml配置的contextClass为默认值XmlWebAppl ...

  2. C# 对xml进行操作

    一:xml的基本操作 (1)获得xml文件中的数据 //创建xml文档对象 XmlDocument xmlDoc = new XmlDocument(); //将指定xml文件加载xml文档对象上 x ...

  3. 关于bootstrap的一些想法

    老实说,作为一个前端人员,我不怎么会去用bootstrap,但是我会去看,会去了解. 首先,bootstrap其实是给后台以及前端新人用来快速完成一个页面的简单布局,不是按照设计稿psd格式给定做的那 ...

  4. zookeeper-3.4.5安装&3台机器安装之后 ./zkServer.sh status 之后会显示“Error contacting service. It is probably not running.”的解决办法

    安装文件上传工具:yum install lrzsz成功安装后有如下的提示:Complete![root@server01 apps]# yum install lrzszLoaded plugins ...

  5. 44. leetcode 28. Implement strStr()

    28. Implement strStr() Implement strStr(). Returns the index of the first occurrence of needle in ha ...

  6. svn本地目录结构for window

    演示内容: 使用svn目录结构来进行备份正式版和修复版本,最终合并修复版本.主干上的版本. 使用工具: visualSVN server 服务器软件工具 TortoiseSVN客户端工具 1.服务器的 ...

  7. HDU--1358--KMP算法失配函数getfail()的理解--Period

    /* Name: hdu--1358--Period Author: 日天大帝 Date: 20/04/17 10:24 Description: 长度/向后移动的位数 = 出现的次数 kmp其实匹配 ...

  8. [PGM] Exact Inference for calculating marginal distribution

    如何在贝叶斯网络中求解某变量的边缘分布? 这是一个问题. 贝叶斯网络如下: CPTs如下: (1) How to compute p( L | C = high )? p( L | C = high  ...

  9. 初笔,JAVA.HelloWorld代码详解

    HelloWorld.java //文件名 public class HelloWorld{ public static void main(String[] args){ System.out.pr ...

  10. 优化hexo访问速度-将hexo部署到云主机VPS

    写在开始 一开始将自己hexo部署到github,结果发现打开页面速度有点慢,然后又将其同时部署到coding,实现双线路访问,国内解析记录到coding,国外解析到github,这样确实网站的速度能 ...