cookie个人总结

本文介绍了Cookie的基本概念,包括其存储结构、有效期设定、路径规则及主子键特性,并提供了JavaScript操作Cookie的方法,如设置、获取及删除等。此外还探讨了Cookie的安全性和使用限制。

最近在使用cookie做功能,现在随便来简单总结一下cookie。

cookie是什么?

在我理解它就是一段文本,什么文本呢?
- 以名/值作为存储结构
- 以;作为分割
- 以expires作为有效期
- 默认path为/同时也可以自定义,可以允许有同名的cookie但path就不能在同一path下,而且会优先于当前的文档
- 具备主子键:我理解为类似二维数组结构一样
- 主键的cookie的数量是有限的

注意事项

  • 要确保主键是唯一的,下面的例子我就用userid和flag作为唯一主键
  • 有效期以毫秒为单位
  • 以escape 方法对字符串进行编码,解决中文乱码的问题
  • 以正则表达式匹配cookie
  • 以unescape方法解码
  • cookie不能直接删除,只有通过创建新的cookie,内容不变,有效期设置当前时间的前一秒

js 操作cookie

//设置Cookie
function setCookie(userId,value,flag){
    var Days = 36135;
    var exp = new Date();
    exp.setTime(exp.getTime() + Days*24*60*60*1000);
    document.cookie = userId +flag + "="+ escape (value) + ";expires=" + exp.toGMTString();
}

//获取Cookie
function getCookie(userId,flag){
    var arr,reg=new RegExp("(^| )"+userId+flag+"=([^;]*)(;|$)");
    if(arr=document.cookie.match(reg))
        return unescape(arr[2]);    
    else
        return null;
}

//删除Cookie
function delCookie(userId,flag){
    var exp = new Date();
    exp.setTime(exp.getTime()-1);
    var value=getCookie(userId,flag);
    if(value!=null)
        document.cookie = userId + flag+ "="+ escape (value) + ";expires=" + exp.toGMTString();
}

补充

  • 单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。所以不能什么东东都往cookie里放,同理session也一样,一般也只放用户的登录信息
  • cookie存储的位置是客户端浏览器
  • session存储的位置是服务器
  • cookie不是很安全,他人分析存放在本地的cookie并进行cookie欺骗
  • session 的运行依赖 session id 也就是唯一标识

结束语

由于个人的水平这里只能作为简单的参照,如有了解更深的需要看大神们的文章了!这段时间做了这个列表自定义的功能让对cookie有了更深的了解,以后也会继续深入学习。同时也希望大家给点学习建议,大家互相交流沟通!在此先谢谢了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值