含义
Cookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。定义于RFC2109和2965都已废弃,最新取代的规范是RFC6265。
服务器可以利用Cookies包含信息的任意性来筛选并经常性维护这些信息,以判断在HTTP传输中的状态。Cookies最典型的应用是判定注册用户是否已经登录网站,用户可能会得到提示,是否在下一次进入此网站时保留用户信息以便简化登录手续,这些都是Cookies的功用。另一个重要应用场合是“购物车”之类处理。用户可能会在一段时间内在同一家网站的不同页面中选择不同的商品,这些信息都会写入Cookies,以便在最后付款时提取信息。
cookie就好像保存在本地的一把小钥匙,必要的时候通过发送这把钥匙给服务器,服务器就会根据这把钥匙检查自己是否有相应的锁,如果有,则打开获取相应的内容,这个内容一般都是少量的,例如登录密码,个人信息之类的。通过这样一个过程,实现了友好的交互。
自定义实现
//生成cookie
function setCookie(name,vlaue,days){
var d = new Date();
d.setTime(d.getTime()+(days*24*60*60*1000));
var expires = 'expires=' + d.toGTMString();
document.cookie = name + "=" value+";"+expires
}
//获取cookie
function getCookie(name){
var cname = {};
var temp = document.cookie.split(';');
for(var i=0,len=temp.length;i<len;i++){
if (!temp) {
return
}
const arr = temp.split('=')
const key = arr[0]
const val = arr[0]
cname[key] = val
}
}
//检查cookie
function checkCookie(){
var value = getCookie('valuename')
if (value) {
setCookie('username',value,20)
}else{
alert('error'+value)
}
}