Cookie
定义:Cookie,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据。HTTP Cookie 要求服务器对任意HTTP 请求发送Set-Cookie,因此,Cookie 的处理原则上需要在服务器环境下进行。
介绍:Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器。
JavaScript Cookies:
var date = new Date(); //创建一个
date.setDate(date.getDate() + 7);
document.cookie = "user= " + encodeURIComponent('123') +";expires=" + date;
设置路径:
var path = '/E:/%E5%A4%87%E8%AF%BE%E7%AC%94%E8%AE%B0/JS1/29/demo';
document.cookie = "user= " + encodeURIComponent('123') + ";path=" + path;
//创建cookie
function setCookie(name, value, expires, path, domain, secure) {
var cookieText = encodeURIComponent(name) + '=' + encodeURIComponent(value);
if (expires instanceof Date) {
cookieText += '; expires=' + expires;
}
if (path) {
cookieText += '; expires=' + expires;
}
if (domain) {
cookieText += '; domain=' + domain;
}
if (secure) {
cookieText += '; secure';
}
document.cookie = cookieText;
}
//获取cookie
function getCookie(name) {
var cookieName = encodeURIComponent(name) + '=';
var cookieStart = document.cookie.indexOf(cookieName);
var cookieValue = null;
if (cookieStart > -1) {
var cookieEnd = document.cookie.indexOf(';', cookieStart);
if (cookieEnd == -1) {
cookieEnd = document.cookie.length;
}
cookieValue = decodeURIComponent(
document.cookie.substring(cookieStart + cookieName.length, cookieEnd));
}
return cookieValue;
}
//删除cookie
function unsetCookie(name) {
document.cookie = name + "= ; expires=" + new Date(0);
}
cookie局限性
第一:每个特定的域名下生成cookie的数量有限制。
第二:cookie 的最大大约为4096 字节(4k),为了更好的兼容性,一般不能超过4095 字
节即可。
第三:cookie 存储在客户端的文本文件,所以特别重要和敏感的数据是不建议保存在
cookie 的。