cookie

2018/03/09 javascript

1、cookie简介

cookie的出现是辅助HTTP协议的,因为HTTP协议是无状态的,不知道每次是谁在请求它,所以产生了cookie,存放一些信息。

1.2 定义

  1. 可以长时间存储用户的数据,默认是临时,想要长时间存储需要手动设置。
  2. 当用户访问了网站的时候,就可以通过cookie在访问者的电脑上存储数据。
  3. 不同浏览器存储的位置不同也不通用。
  4. cookie的存储是以域名形式进行区分。
  5. cookie的数据可以设置名字。
  6. 一些浏览器不允许本地形式操控cookie。
  7. cookie是可读可写的。当我们通过document.cookie来获取当前网站下的cookie的时候,得到的是一个字符串形式的值,它包含了当前网站下所有的cookie,用分号加一个空格隔开每条cookie。
  8. 一个域名下的cookie数量是有限制的,不同浏览器不同版本不一样。
  9. 每条cookie存放的内容大小有限制。

1.2 缺陷

  1. cookie 是存放到 浏览器上的 ,服务器可以设置,每此请求时会带上cookie
  2. cookie 不安全 不能存放敏感信息

2、写法

1、临时存储:document.cookie = ‘名字 = 值’;默认的存储时间是在浏览器生命周期之内,当浏览器关闭的时候自动销毁。 2、长时间存储:document.cookie = ‘cat = 21;expires’ + 时间;

3、长时间存储

动态设置cookie的生命周期。

  //获取时间
  var oDate = new Date();
  //设置时间为(用户访问的时间 + 7天)
  oDate.setDate( oDate.getDate() + 7 );
  //把时间设置为字符串格式
  document.cookie = document.cookie = 'cat = 21;expires' + oDate.toGMTString();

4.存放注意 1、在存cookie值的时候可能会存一些特殊字符,最好编码(encodeURI)存放。 2、存放:document.cookie = document.cookie = 'cat = '+encodeURI('你好')+';expires' + oDate.toGMTString(); 3、读取:decodeURI(document.cookie);

5.编码和解码 1、编码:encodeURI(‘要编码的内容’); 2、解码:decodeURI(‘要解开的编码’);

Search

    Table of Contents