跟踪用户的几种方式
1、标记用户身份的http请求首部
form:记录email
user-agen:记录浏览器
referer: 记录上一次链接位置
2、客户端ip地址
但是由于ip地址的多变性 只可以定位到机器而不是用户
3、用户登陆验证针对性
4、胖url
字段过长shengming 、 造成服务器负担 生命周期有限
5、cookie
什么是cookie?
Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),(服务器告诉浏览器设置一下cookie),浏览器会将Cookie以key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用cookie)。
Cookie就是一个小型本地文件(浏览器对cookie的内存大小是有限制的-------用来记录一些信息)可以删除可以添加
cookie注意点如下
Cookie 在本地 可以被更改文件 敏感的数据不要放在cookie里
cookie拥有大小数量限制 一般大小为4k
设置相同名字的cookie覆盖 但是设置了不同的path值则不会覆盖
但是我们得学会简单操作cookie (大概流程如下)
(var oDate = new Date())
1.document.cookie='key=value;expires='+oDate;(精确时间)
2.new Date(); setDate getDate
3,封装函数 增 查 删
4,cookie的使用 通过document.cookie 设置cookie
格式:名字=值 不会覆盖 过期时间:expires=时间/max-age=秒 日期对象的使用 封装函数 读取cookie 字符串分割 删除cookie 已经过期
函数封装如下:
<script>
var oData = new Date();
//设置cookie函数
var magCookie = {
setCookie: function(name, value, time) {
document.cookie = name + '=' + value + ';Max-Age=' + time;
return this;
//实现链式调用返回该对象
},
removeCookie: function(name) {
this.setCookie(name, '', -1);
return this;
},
getCookie: function(name, callback) {
console.log(document.cookie)
var cookiearr = document.cookie.split('; ');
//特别注意cookie的剪切要注意空格处理
console.log(cookiearr);
for (var i = 0; i < cookiearr.length; i++) {
var newarr = cookiearr[i].split('=');
if (name == newarr[0]) {
callback(newarr[1]);
return this;
}
}
callback(undefined);
return this;
}
}
magCookie.setCookie('color', 'red', 100000000)
.setCookie('colo', 'yellow', 100000000)
.setCookie('age', 19, 1000)
.getCookie('age', function(data) {
console.log(data + 99);
})
.getCookie('color', function(data) {
console.log(data + 99);
})
.getCookie('colo', function(data) {
console.log(data + 99);
})
.getCookie('col', function(data) {
console.log(data + '99');
})
</script>