Cookie

简单地说,cookie 就是浏览器储存在用户电脑上的一小段文本文件。cookie 是纯文本格式,不包含任何可执行的代码。一个 Web 页面或服务器告知浏览器按照一定规范来储存这些信息,并在随后的请求中将这些信息发送至服务器,Web 服务器就可以使用这些信息来识别不同的用户。大多数需要登录的网站在用户验证成功之后都会设置一个 cookie,只要这个 cookie 存在并可以,用户就可以自由浏览这个网站的任意页面。再次说明,cookie 只包含数据,就其本身而言并不有害。

Cookie使用场景:
用户在请求网站的时候服务器会返回cookie信息到浏览器,浏览器得到cookie 信息以后会保存起来;以后访问我们的站点都是把我们保存好的cookie信息通过头信息的方式发送给服务端,那么服务端得到cookie信息以后就可以验证我们是否是登录状态。

Cookie特性:

1,不同的浏览器存放的cookie位置不一样,也是不能通用的;也就是说你在firefox下设置的
cookie,在chrome下是无法访问到的;
2,cookie的存储是以域名的形式进行区分的;
3,一个域名下存放的cookie的个数是有限制的,不同的浏览器存放的个数不一样;
4,每个cookie存放的内容大小也是有限制的,不同浏览器存放大小不一样;
5,由于在HTTP请求中的cookie是明文传递的,所以安全性成问题。(除非用HTTPS);
6,Cookie的大小限制在4KB左右。对于复杂的存储需求来说是不够用的;
7,cookie会被附加在每个HTTP请求中,所以无形中增加了流量;

Cookie的使用:

1,设置Cookie:
document.cookie = '1701H=41'; //默认关闭浏览器进程Cookie消失
2,获取Cookie:
document.cookie;
3,设置Cookie过期时间,时间必须是字符串格式(兼容IE):
var oDate = new Date();
oDate.setDate(oDate.getDate() + 5);
document.cookie = '1701H = 41人;expires = ' + oDate.toGMTString();
4,内容最好以encodeURI编码存放:
document.cookie = '1701H = ' + encodeURI('41人');
5,解码Cookie:
decodeURI(document.cookie)

Cookie常用方法封装:
1,设置Cookie:
function setCookie(key, val, t) {
var oDate = new Date();
oDate.setDate(oDate.getDate() + t);
document.cookie = key + '=' + val + ';expires=' + oDate.toGMTString();
}
2,获取Cookie:
function getCookie(key) {
var arr1 = document.cookie.split('; ');
for(var i=0; i<arr1.length; i++) {
var arr2 = arr1[i].split('=');
for(var j=0;j<arr2.length; j++) {
if(arr2[0] == key) {
return decodeURI(arr2[1]);
}}}}
3,删除Cookie:
function removeCookie(key) {
setCookie(key, '', -1);
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 什么是cookie? 简单地说,cookie 就是浏览器储存在用户电脑上的一小段文本文件。cookie 是纯文本格...
    MC丶逗逼嘿阅读 1,319评论 0 0
  • 简单地说,cookie 就是浏览器储存在用户电脑上的一小段文本文件。cookie 是纯文本格式,不包含任何可执行的...
    L怪丫头阅读 1,547评论 0 1
  • 背景在HTTP协议的定义中,采用了一种机制来记录客户端和服务器端交互的信息,这种机制被称为cookie,cooki...
    时芥蓝阅读 6,936评论 1 17
  • 作者:晚晴幽草轩www.jeffjade.com/2016/10/31/115-summary-of-cookie...
    饥人谷_Dylan阅读 4,933评论 0 51
  • 注:本文转载自前端大全 背景 在HTTP协议的定义中,采用了一种机制来记录客户端和服务器端交互的信息,这种机制被称...
    楠小忎阅读 3,895评论 0 0