Cookie

参考:

https://zhuanlan.zhihu.com/p/22396872

[Cookie与Session的区别(面试的是时候别傻傻的说只有存储位置不同)](https://zhuanlan.zhihu.com/p/95024411)

https://zh.wikipedia.org/wiki/Cookie

 

Cookie 是什么

1. Cookie 是浏览器访问服务器后,服务器传给浏览器的一段数据。

2. 浏览器需要保存这段数据,不得轻易删除。

 

3. 此后每次浏览器访问该服务器,都必须带上这段数据。

Cookie 就是这么简单,这就是 Web 开发里 Cookie 的含义。

 

 

如何使用 Cookie

Cookie 一般有两个作用。

第一个作用是识别用户身份。

比如用户 A 用浏览器访问了 http://a.com,那么 http://a.com 的服务器就会立刻给 A 返回一段数据「uid=1」(这就是 Cookie)。当 A 再次访问 http://a.com 的其他页面时,就会附带上「uid=1」这段数据。

同理,用户 B 用浏览器访问 http://a.com 时,http://a.com 发现 B 没有附带 uid 数据,就给 B 分配了一个新的 uid,为2,然后返回给 B 一段数据「uid=2」。B 之后访问 http://a.com 的时候,就会一直带上「uid=2」这段数据。

借此,http://a.com 的服务器就能区分 A 和 B 两个用户了。

第二个作用是记录历史。

假设 http://a.com 是一个购物网站,当 A 在上面将商品 A1 、A2 加入购物车时,JS 可以改写 Cookie,改为「uid=1; cart=A1,A2」,表示购物车里有 A1 和 A2 两样商品了。

这样一来,当用户关闭网页,过三天再打开网页的时候,依然可以看到 A1、A2 躺在购物车里,因为浏览器并不会无缘无故地删除这个 Cookie。

借此,就达到里记录用户操作历史的目的了。

(上面的例子只是为了让大家了解 Cookie 的作用而构想出来的,实际的网站使用 Cookie 时会更谨慎一些。)

 

缺点

Cookie 的大小限制在 4 KB 左右,对于复杂的存储需求来说是不够用的

Cookie 会被附加在每个 HTTP 请求中,所以无形中增加了流量。

由于 HTTP 请求中的 Cookie 是明文传递的,所以安全性成问题,除非使用超文本传输安全协定

 

识别功能

如果在一台计算机中安装多个浏览器,每个浏览器都会以独立的空间存放 Cookie。因为 Cookie 不但可确认用户信息,还包含计算机和浏览器的信息,所以一个用户使用不同的浏览器登录或者用不同的计算机登录,都会得到不同的 Cookie 信息,另一方面,对于在同一台计算机上使用同一浏览器的多用户群,Cookie 不会区分他们的身份,除非他们使用不同的用户名登录。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值