cookie那些事(1)基础

cookie是什么呢?

不不不,我说的cookie是这个

下面就详细介绍下这个web世界中不可缺少的一个元素

1. cookie的产生

cookie是什么呢?wikipedia上面的定义这么写:

Cookie(复数形态Cookies),中文名称为“小型文本文件”或“小甜饼”[1],指某些网站为了辨别用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密)。定义于RFC2109。是网景公司的前雇员卢·蒙特利在1993年3月的发明[2]。

从这段话可以知道cookie 的一个最大的特征就是存储在 客户端
而它的主要作用是 身份识别

对HTTP协议有一定了解的朋友们应该知道,HTTP协议是一种 无状态 协议,何谓无状态?就是这一次请求,和上一次,下一次请求之间相互完全独立。

现在的很多网站都需要有登录功能,如果单纯用HTTP来识别,由于其无状态的性质,不能说这一个请求进行过身份认证了,下一条就不进行了。因此,每一次请求都要进行一次身份认证,而每加载一个页面,就会有十几甚至几十条的http请求,反复的进行身份验证对于资源的消耗十分的大,因此产生了cookie来解决这个问题

2.cookie的作用方法

  • 第一步 完成(如用户名密码方式的)身份验证,服务端在给客户端的response中加入设置cookie的信息
  • 第二步 客户端浏览器把cookie储存在本地
  • 第三步 客户端在每次发送请求的时候,将cookie加在请求的header中
  • 第四步 (有需要时)重复第三步,知道浏览器将cookie清除或者cookie自动过期

3.cookie的设置与传输

设置

cookie的设置,是通过response中的一个名为set-cookie的header实现的,传输的方式是map (key-value pair键值对,也称作关联数组,哈希表)

cookie的传递,是每次浏览器发到服务端的request的header中,也是以键值方式传递

4.用cookie实现持续的身份验证

cookie的一大作用就是用来实现持续的身份验证,登录一次,保持一段时间的在线状态。
实现的方法是服务器端使用session用户对应的session变量存储在服务端,将一个与,而将session的id,也是对应唯一的身份识别码,存储在cookie中,每一个sessionid对应唯一的登录用户。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,991评论 19 139
  • 作者:晚晴幽草轩www.jeffjade.com/2016/10/31/115-summary-of-cookie...
    饥人谷_Dylan阅读 1,232评论 0 51
  • 背景在HTTP协议的定义中,采用了一种机制来记录客户端和服务器端交互的信息,这种机制被称为cookie,cooki...
    时芥蓝阅读 2,383评论 1 17
  • 注:本文转载自前端大全 背景 在HTTP协议的定义中,采用了一种机制来记录客户端和服务器端交互的信息,这种机制被称...
    楠小忎阅读 689评论 0 0
  • 刘锡是驸马寨人,寿终正寝后,生前好友、同榜进士,曲周县人聂鹤龄为他写了墓志铭。 按照墓志铭介绍,刘锡出生于出生于嘉...
    椒乡书生阅读 1,600评论 2 0