COOKIE
参考https://www.cnblogs.com/zhuanzhuanfe/p/8010854.html
https://www.cnblogs.com/guhuai/p/10211759.html
HTTP:
超文本传输协议,用于从web服务器传输超文本到本地浏览器的传输协议,是一个无状态的协议
cookie:
指缓存在本地客户端的数据
由于http是无状态的协议,一旦客户端和服务器的数据交换完毕,就会断开连接,再次请求,会重新连接,这就说明服务器单从网络连接上是没有办法知道用户身份的。怎么办呢?那就给每次新的用户请求时,给它颁发一个身份证(独一无二)吧,下次访问,必须带上身份证,这样服务器就会知道是谁来访问了,针对不同用户,做出不同的响应。,这就是Cookie的原理。
其实cookie是一个很小的文本文件,是浏览器储存在用户的机器上的。Cookie是纯文本,没有可执行代码。储存一些服务器需要的信息,每次请求站点,会发送相应的cookie,这些cookie可以用来辨别用户身份信息等作用。cookies的存储形式就是name-value pairs(类似键值对)
cookie可以包含任意的信息,不仅仅是id,客户端会记录服务器返回来的Set-Cookie首部中的cookie内容。并将cookie存储在浏览器的cookie数据库中,当用户访问同一站点时,浏览器就会挑选当时该站点颁发的id=XXX的身份证(cookie),并在Cookie请求首部发送过去。
cookie的类型
可以按照过期时间分为两类:会话cookie和持久cookie。会话cookie是一种临时cookie,用户退出浏览器,会话Cookie就会被删除了,持久cookie则会储存在硬盘里,保留时间更长,关闭浏览器,重启电脑,它依然存在,通常是持久性的cookie会维护某一个用户周期性访问服务器的配置文件或者登录信息。
持久cookie 设置一个特定的过期时间(Expires)或者有效期(Max-Age)
cookie不设置有效期的话,关闭浏览器cookie会消失
同名的cookie会被覆盖,删除cookie,把cookie的有效期设置成一个过去得时间,会自动清除掉
操作cookies的方法
JavaScript可以通过document.cookie属性来创建、读取和删除cookies。
创建cookie
我们可以在控制台中直接通过document.cookie = "username=John Doe";来写入cookie。
写入前:

写入:

写入后:

读取cookie
通过document.cookie可以读取cookie

修改cookie
通过document.cookie重新设置已经设置过的cookie的值即可修改cookie:


删除cookie
删除cookie并不用专门使用特别的方法,只许把cookie的过期时间设置到一个过去的时间点即可。

名称为username的cookie就被删除了


浙公网安备 33010602011771号