cookie个人总结

xiaoxiao2021-02-28  186

最近在使用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有了更深的了解,以后也会继续深入学习。同时也希望大家给点学习建议,大家互相交流沟通!在此先谢谢了!

转载请注明原文地址: https://www.6miu.com/read-19318.html

最新回复(0)