cookie 简介
Cookie 技术产生源于 HTTP 协议在互联网上的急速发展。随着互联网的快速发展,人们需要更复杂的互联网交互活动,就必须同服务器保持活动状态。为了适应用户的需求,技术上推出了各种保持Web浏览状态的手段,其中就包括了Cookie技术。
举个例子,用户 linuxmooc 在没有登陆 baidu 时,baidu 首页的界面如下图所示:
baidu0
用户 linuxmooc 登陆 baidu 页面后,可以看到页面的右上角显示了他的名称 linuxmooc,如下图所示:
baidu1
用户 linuxmooc 在没有登陆 baidu 时,访问的网页 url 是http://www.baidu.com;在登陆 baidu 后,访问的网页 url 仍然是http://www.baidu.com,但是这两次访问呈现的结果不相同,登陆前没有显示用户名,登陆后显示了用户名。问题是:服务端是如何区分这两次请求的?
服务端采用这样的机制区分这两次请求的,如下图所示:
int
- 用户 linuxmooc 登陆 baidu
- baidu 服务端会生成一个用户 ID
- 然后,服务端将这个用户 ID 发送给浏览器
- 浏览器收到这个用户 ID 后,会将这个用户ID保存在用户本地终端
- 浏览器再次访问 baidu 站点时,浏览器会将保存在本地的用户ID再次发给 baidu 服务端
服务端收到浏览器发送的用户 ID 后,就知道此次请求来自于一个已经登陆的用户。在以上的交互过程中,保存在客户端的用户 ID 就被称为 cookie
cookie 定义
网站常常需要记录访问者的一些一些基本信息,例如如身份识别号码、密码、用户在 Web 站点购物的方式或用户访问该站点的次数。 网站为了辨别用户身份、进行 session 跟踪需要把数据储存在用户本地终端上,这些数据被称为 cookie。