Cookie是什么
维基百科定义
Cookie(复数形态Cookies),又称为“小甜饼”。类型为“小型文本文件”[1],指某些网站为了辨别用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密)。由网景公司的前雇员卢·蒙特利在1993年3月发明[2]。最初定义于RFC 2109。当前使用最广泛的 Cookie标准却不是RFC中定义的任何一个,而是在网景公司制定的标准上进行扩展后的产物。
我的理解
- Cookie就是用户登录网站,浏览器去访问服务器问这个人能不能登录,然后服务器传送给浏览器的一段数据。
- 浏览器会保留这段数据,不能随便删除(一般默认20分钟左右,浏览器不同具体时间不同)
- 然后这段时间内用户通过浏览器继续访问服务器,都必须带一个Cookie
- Cookie 默认在用户关闭页面后就失效,后台代码可以任意设置 Cookie 的过期时间
- 大小大概在 4kb 以内
Cookie的特点
- 服务器通过 Set-Cookie 响应头设置Cookie
- 浏览器得到Cookie之后,每次请求都要带上Cookie
- 服务器读取Cookie就知道登录用户的信息(用户名啥的)
如何使用 Cookie
Cookie 一般有两个作用。
第一个作用是识别用户身份
比如用户小红用浏览器访问了 http://qq.com,那么qq 的服务器就会立刻给小红返回一段数据就是Cookie。当 小红 再次访问qq的其他页面时,就会附带上这段数据。
同理有个小白用浏览器访问了 http://qq.com,那么qq 的服务器就会立刻给小白返回一段数据就是Cookie。当 小白 再次访问qq的其他页面时,就会附带上这段数据。
借此,http://qq.com 的服务器就能区分 小白和 小红 两个用户了。
第二个作用是记录历史
http://taobao.com 是一个购物网站,当 小红 在上面将商品 白鞋 、酱油 加入购物车时,JS 可以改写 Cookie,在Cookie中添加两个商品的信息,表示购物车里有 白鞋 和 酱油 两样商品了。
这样一来,当用户关闭网页,过三天再打开网页的时候,依然可以看到 白鞋、酱油 躺在购物车里,因为浏览器并不会无缘无故地删除这个 Cookie。
借此,就达到里记录用户操作历史的目的了。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 808Mak1r!
评论