基于Cookie的会话跟踪技术及应用
2021-10-25高春庚
高春庚
(济源职业技术学院信息工程系 河南 济源 459000)
1 引言
由于HTTP协议是无状态协议,服务器对用户的请求进行响应后,就会关闭与该客户端的连接,因此当用户通过同一个客户端再次发出请求时,服务器不能判断该请求是否来自同一个客户端。在某些情况下,Web服务器为了能够给用户提供更好的服务,必须能够跟踪客户的状态信息。为了解决这一问题,Netscape公司推出了Cookie这一状态管理机制[1]。
2 Cookie概述
在Web应用中,Cookie是HTTP协议制定的一种会话跟踪技术,是一种被广泛采用的记录客户端用户信息的技术。当用户通过客户端浏览器第一次访问Web服务器时,Web服务器会在响应头中增加Set-Cookie头字段,把信息以Cookie的形式发送给客户端浏览器,这些信息可以是用户ID、访问时间、访问记录等。当客户端浏览器再次访问Web服务器时,会把保存的Cookie再发送给服务器,以便服务器对浏览器做出相应的响应[2]。通过Cookie技术可以将用户信息保存在客户端,从而减轻服务器的负担[3]。
Set-Cookie响应头字段以键值对的形式设置Cookie,一个Cookie只保存一个键值对[4]。如图1所示,在图中,服务器向客户端保存了两个Cookie,name和age表示Cookie的名称;zhangsan和30分别是其值;Expires是Cookie的过期时间。如果没有设置Cookie的过期时间,在浏览器关闭的时候,该Cookie的生命就结束了。Cookie必须以键值对的形式存在,一个Cookie可以设置多个属性,不同属性之间必须以分号和空格分隔。

图1 HTTP响应头
客户端浏览器收到服务器发送的Cookie信息,会将该信息保存在浏览器的缓冲区中,当浏览器以后再次访问服务器时,会把该服务器保存的Cookie以HTTP请求头的形式发送给Web服务器[5],见图2。……
