1.Q:cookie是什么?
A:1.cookie是一段键值对形式的文本存在客户硬盘中,cookie的作用就是为了解决HTTP协议无状态的缺陷所作的努力
2.谷歌浏览器存在路径:C:\Documents and Settings\Administrator\Local Settings\Application Data\Google\Chrome\User Data 3.借助第三方工具可以查看cookie (谷歌cookie查看工具:ChromeCookiesView)
4.cooike可以用js脚本设置调用生成本地需求的数据,建设服务器访问
2.Q:cookie的用处:
A; 1.商城购物车在不登录的情况下可以生成临时购物车
2.商城网站中浏览记录可以存在cookie中
3.登录状态保存:http本身是无session的,无法跟踪客户端的信息,换句话说:http协议不管是谁联接自己。
为了实现session,必须有浏览器支持。浏览器可以用cookie存储session,这是最通用的做法。
但是,如果我自己写一个完全符合http协议的浏览器,但是不配合服务器的session要求,那么服务器就无法产生session。
好在现在的浏览器都支持session要求,即使关闭了cookie,浏览器也会向服务器传递sessionid,这个id是存储在浏览器的内存空间中的, 不保存在硬盘cookie中。
3.Q:cookie使用步骤(基于jquery)
A:
var ck = {
//设置cookie
setCookie:function (name, value, expires, path, domain, secure) {
var cookieName = encodeURIComponent(name) + '=' + encodeURIComponent(value);
if (expires instanceof Date) {
cookieName += '; expires=' + expires;
}
if (path) {
cookieName += '; path=' + path;
}
if (domain) {
cookieName += '; domain=' + domain;
}
if (secure) {
cookieName += '; secure';
}
document.cookie = cookieName;
},
//获取Cookie
getCookie:function (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;
},
//过期时间
setCookieDate:function (day) { //传递一个天数,比如传递7,就7天后失效
var date = null;
if (typeof day == 'number' && day > 0) {
date = new Date();
date.setDate(date.getDate() + day);
} else {
throw new Error('您传递的天数不合法!必须是数字且大于0');
}
return date;
},
//alert(getCookie('email'));
}
补充:当后台用session作为登录依据时,创建session时生成一个唯一标识sessionid,并且将这个标识返回给浏览器保存为
JSESSIONID
F12后在Application下Cookies可以查看,但是这个jsessionid不能通过获取普通cookie的方式获取,因为他没有保存到浏览器本地文件,
而在浏览器内存中