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)

Set-Cookie: id=a3fWa; Expires=Wed, 21 Oct 2019 07:28:00 GMT;

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就被删除了

 

 

posted @ 2020-05-28 22:40  Ren小白  阅读(111)  评论(0)    收藏  举报
levels of contents