由于HTTP服务器是无状态的,当一个Web站点希望能够识别用户时,便使用到cookie,它允许站点对用户进行跟踪。
cookie技术四个组件:
- 在HTTP响应报文中的一个cookie首部行
- 在HTTP请求报文中的一个cookie首部行
- 在用户端系统中保留有一个cookie文件,并由用户的浏览器管理
- 位于Web站点的一个后端数据库
建立cookie的过程:
1.当用户首次访问某Web站点时,Web站点服务器会产生一个唯一的识别码,并以该识别码作为索引在后端数据库中产生一个表项。同时用一个包含Set-cookie首部的HTTP响应报文进行响应,Set-cookie可能是Set-cookie:1678。
2.用户收到带有Set-cookie首部的HTTP响应报文后,其浏览器在它管理的特定cookie文件中添加一行包含服务器主机名和Set-cookie首部中的识别码
3.当用户继续访问该网站时,浏览器就会查询该cookie文件并抽取对这个网站的识别码,并放到HTTP报文中包括识别码的Cookie:1678
4.站点会根据用户请求报文中的cookie识别码在后端数据库中查找用户的数据
cookie的优缺点:
优点:利用cookie可以在无状态的HTTP之上建立一个用户会话层
缺点:网站通过cookie记录了用户的信息,可能会将这些信息卖给第三方