cookie
1、cookie是什么?
cookie的中文翻译是曲奇,小甜饼的意思。cookie其实就是一些数据信息,类型为“小型文本文件”,存储于电脑上的文本文件中。
2、cookie有什么用?
Cookie主要用于维持用户会话、个性化服务、追踪用户行为、支持电商购物车功能及进行网站统计分析等。
场景
比如我登录csdn,我直接进去不需要进行登录了,但是时间长了又需要你从新登录,这就是浏览器保存了cookie,只要cookie不到期就不需要重新登录,假如下图AU就是身份cookie,只要这个cookie不到期,我就能直接进去csdn不需要登录。
Cookie表示
cookie是以键值对类型标识的,想当与java中的Map类型,如age:18,cookie键为age,值为18。
Cookie的生命周期
cookie有2种存储方式,一种是会话性,一种是持久性。
会话性:如果cookie为会话性,那么cookie仅会保存在客户端的内存中,当我们关闭客服端时cookie也就失效了
持久性:如果cookie为持久性,那么cookie会保存在用户的硬盘中,直至生存期结束或者用户主动将其销毁。
因为cookie保存在本地,所以我们可以更改cookie,可以使用插件进行更改,但是更改后一般cookie就会失效。
从浏览器中我们就能看到很多关于cookie的信息,如键值、域名、路径和过期时间等。
域名和路径作用
也许有人就问了,这个域名和路径有什么用,域名主要用来确定是往哪儿传cookie,路径确定什么使用传。
如上图的键为AU的cookie的域名为 .csdn.net,路径为/(/表示根路径,就是当我们只要访问 .csdn.net域名下的内容都需要将AU发送到服务器),这时如果我们访问这样一个地址https://editor.csdn.net/md?articleId=137230869,这时就满足域名.csdn.net,路径也满足(根路径),就会传输AU。
Cookie的HTTP传输
HTTP请求
我们在发送HTTP请求时,发现游览器将我们的cookie都进行了携带(注意:游览器只会携带在当前请求的url中包含了该cookie中path值的cookie),并且是以key:value的形式进行表示的。多个cookie用;进行隔开。
HTTP响应
cookie是如何设置的
服务器设置了2个cookie,返回给游览器。我们发现在HTTP响应中, cookie的表示形式是,Set-Cookie:cookie的名字,cookie的值。如果有多个cookie,那么在HTTP响应中就使用多个Set-Cookie进行表示。
流程
以上并不是真正的csdn的流程,只是我用来说名cookie是的流程。
参考
cookie是什么?有什么用?cookie详解,一篇文章彻底搞懂cookie