Cookie | 青训营笔记

75 阅读3分钟

这是我参与「第四届青训营 」笔记创作活动的的第20天

Cookie 是一些数据,存储于你电脑上的文本文件中,当 web 服务器向浏览器发送 web 页面时,在连接关闭后,服务端不会记录用户的信息,Cookie 的作用就是用于解决 “如何记录客户端的用户信息”:

当用户访问 web 页面时,它的名字可以记录在 cookie 中。 在用户下一次访问该页面时,可以在 cookie 中读取用户访问记录。

在JavaScript中创建cookie,它是以名/值对形式存储,

username=cookie

当浏览器从服务器上请求web页面是,属于该页面的cookie会被添加到请求中,服务器通过这种方式来获取用户信息

JavaScript中科院使用document.cookie属性来创建.读取,及删除cookie

cookie创建

document.cookie = "username=cookie";

还可以为cookie添加一个过期的时间,默认情况下,cookie在浏览器关闭时删除

document.cookie = "username=cookie;espires=thu, 18 Otc 2033 12:00:00 GMT;path = /"

cookie读取 在JavaScript中读取cookie如下所示

document.cookie将以字符串的方式返回所有的cookie,类型格式: cookie1=value;

    doument.cookie = "username=cookie";
    var cookies = document.cookie;
    console.log(cookies);

cookie修改

在JavaScript中修改cookie是将旧的cookie覆盖掉

    document.cookie = "username=cookie";
    document.cookie = "ueername=new_cookie"
    var cookies = doucment.cookie;
    console.log(cookies);
    
    

cookie删除

在JavaScript中删除cookie设置expires参数为以前的时间即可,


    document.cookie = "username=cookie";
    document.cookie = "username=; expires=Thu,01 July 1989 00:00:00 GMT";
    var cookies = document.cookie;
    console.log(cookies);
    

webstorage

webstorage概述

WebStorage是HTML5中本地存储的解决方案之一,在HTML5的WebStorage概念引入之前除去IE User Data、Flash Cookie、Google Gears等看名字就不靠谱的解决方案,浏览器兼容的本地存储方案只有使用Cookie。有同学可能会问,既然有了Cookie本地存储,为什么还要引入WebStorage的概念?那就要说一说Cookie的缺陷了:

数据大小:作为存储容器,Cookie的大小限制在4KB左右这是非常坑爹的,尤其对于现在复杂的业务逻辑需求,4KB的容量除了存储一些配置字段还简单单值信息,对于绝大部分开发者来说真的不知指望什么了。 安全性问题:由于在HTTP请求中的Cookie是明文传递的(HTTPS不是),带来的安全性问题还是很大的。 网络负担:我们知道Cookie会被附加在每个HTTP请求中,在HttpRequest和HttpResponse的header中都是要被传输的,所以无形中增加了一些不必要的流量损失。 虽然WebStorage是HTML5新增的本地存储解决方案之一,但并不是为了取代Cookie而制定的标准,Cookie作为HTTP协议的一部分用来处理客户端和服务器通信是不可或缺的,session正是依赖于实现的客户端状态保持。WebStorage的意图在于解决本来不应该Cookie做,却不得不用Cookie的本地存储的应用场景。

webstorage明天继续.