前端面试之cookie
来源:互联网 发布:淘宝卖霉菌龟头炎药品 编辑:程序博客网 时间:2024/05/17 08:30
今天面试的时候问到了cookie,回答的不是太好,刚好趁此机会总结一下。
cookie的作用:
1.可以在客户端上保存用户数据,起到简单的缓存和用户身份识别等作用。
2.保存用户的登陆状态,用户进行登陆,成功登陆后,服务器生成特定的cookie返回给客户端,客户端下次访问该域名下的任何页面,将该cookie的信息发送给服务器,服务器经过检验,来判断用户是否登陆。
3.记录用户的行为。
cookie弊端:
1.增加流量消耗,每次请求都需要带上cookie信息。
2.安全性隐患,cookie使用明文传输。如果cookie被人拦截了,那人就可以取得所有的session信息。
3.Cookie数量和长度的限制。每个domain最多只能有20条cookie,每个cookie长度不能超过4KB,否则会被截掉
cookie的增删改查操作:
/*添加cookie*/
function setCookie(key,value,time){
var exp = new Date();
exp.setTime(exp.getTime() + time);
document.cookie = key + '=' +value+';expires='+exp.toUTCString();
var d = new Date();
console.log(d.toUTCString());
//console.log(time);
}
此方法中的toUTCString()方法是可根据格林威治时间(GMT)把Date对象转换为字符串,并返回结果
/*删除cookie*/
function removeCookie(key){
setCookie(key,'');
}
/*获取某个cookie*/
function getCookie(key) {
var cookieArr = document.cookie.split('; ');
for(var i = 0; i < cookieArr.length; i++) {
var arr = cookieArr[i].split('=');
if(arr[0] === key) {
return arr[1];
}
}
return false;
}
方法调用:
//添加cookie 注意时间是5秒,不加引号
setCookie('name','zh',5000);
setCookie('age','30');
//删除cookie
removeCookie('age');
//设置一个定时器来验证cookie的过期时间
setInterval(function(){
console.log(getCookie('name'));
console.log(getCookie('age'));
},1000);
cookie的作用:
1.可以在客户端上保存用户数据,起到简单的缓存和用户身份识别等作用。
2.保存用户的登陆状态,用户进行登陆,成功登陆后,服务器生成特定的cookie返回给客户端,客户端下次访问该域名下的任何页面,将该cookie的信息发送给服务器,服务器经过检验,来判断用户是否登陆。
3.记录用户的行为。
cookie弊端:
1.增加流量消耗,每次请求都需要带上cookie信息。
2.安全性隐患,cookie使用明文传输。如果cookie被人拦截了,那人就可以取得所有的session信息。
3.Cookie数量和长度的限制。每个domain最多只能有20条cookie,每个cookie长度不能超过4KB,否则会被截掉
cookie的增删改查操作:
/*添加cookie*/
function setCookie(key,value,time){
var exp = new Date();
exp.setTime(exp.getTime() + time);
document.cookie = key + '=' +value+';expires='+exp.toUTCString();
var d = new Date();
console.log(d.toUTCString());
//console.log(time);
}
此方法中的toUTCString()方法是可根据格林威治时间(GMT)把Date对象转换为字符串,并返回结果
/*删除cookie*/
function removeCookie(key){
setCookie(key,'');
}
/*获取某个cookie*/
function getCookie(key) {
var cookieArr = document.cookie.split('; ');
for(var i = 0; i < cookieArr.length; i++) {
var arr = cookieArr[i].split('=');
if(arr[0] === key) {
return arr[1];
}
}
return false;
}
方法调用:
//添加cookie 注意时间是5秒,不加引号
setCookie('name','zh',5000);
setCookie('age','30');
//删除cookie
removeCookie('age');
//设置一个定时器来验证cookie的过期时间
setInterval(function(){
console.log(getCookie('name'));
console.log(getCookie('age'));
},1000);
运行结果:
阅读全文
0 0
- 前端面试之cookie
- [前端] nodejs之cookie入门
- 大前端之路----Cookie
- 前端面试之HTML5篇
- 前端面试之HTML篇
- 前端面试之排序算法
- 前端面试之---javascript原型
- 前端面试之webpack篇
- 前端面试之算法题
- 前端开发日记之cookie的学习
- 前端扫雷之cookie和session
- 前端扫雷之cookie/localStorage/sessionStorage
- 前端学习之本地储存与cookie
- 前端面试学习笔记之HTML
- 前端开发面试经验之苏宁
- 百度前端面试经验之程序题
- 前端面试之Ajax和Json
- 前端面试题目答案整理之HTML
- 【简记】Operating System——process synchronization
- java语言基础组成
- 浙大PAT甲级-1010
- the king bank
- Kotlin-24.协程和线程(Coroutine & Thread)
- 前端面试之cookie
- Linux下安装Git
- hadoop-31
- 一元函数在区间上的形心(质心)公式的推导
- 【JavaScript】04变量、作用域及内存
- MMO小地图实现方式
- 抽象类和接口
- HDOJ 2037 今年暑假不AC(贪心算法)
- Unity资源制作要求