Page 305 - HTTP权威指南
P. 305

过期时间,这个 cookie 就是一个会话 cookie。


                 11.6.2 cookie是如何工作的

                 cookie 就像服务器给用户贴的“嗨,我叫”的贴纸一样。用户访问一个 Web 站点
                 时,这个 Web 站点就可以读取那个服务器贴在用户身上的所有贴纸。

                 用户首次访问 Web 站点时,Web 服务器对用户一无所知(参见图 11-3a)。Web 服
                 务器希望这个用户会再次回来,所以想给这个用户“拍上”一个独有的 cookie,这
                 样以后它就可以识别出这个用户了。cookie 中包含了一个由名字 = 值(name=value)
                 这样的信息构成的任意列表,并通过 Set-Cookie 或 Set-Cookie2 HTTP 响应(扩
                 展)首部将其贴到用户身上去。


                    (a)    GET /index.html HTTP/1.0
                           Host: www.joes-hardware.com


                                               因特网

                     客户端                                                  服务器

                                  HTTP/1.0 200 OK
                    (b)           Set-cookie: id="34294"; domain="joes-hardware.com"
                                  Content-type: text/html
                                  Content-length: 1903
                       Set-Cookie  ...
                              id="34294"
                                               因特网
                     客户端                                                  服务器

                    (c)    GET /index.html HTTP/1.0
                           Host: www.joes-hardware.com          Cookie
                           Cookie: id="34294"
                                                               id="34294"
                                               因特网
                     客户端                                                  服务器


                 图 11-3 给用户贴一个 cookie

                 cookie 中可以包含任意信息,但它们通常都只包含一个服务器为了进行跟踪而产
                 生的独特的识别码。比如,在图 11-3b 中,服务器会将一个表示 id="34294" 的
                 cookie 贴到用户上去。服务器可以用这个数字来查找服务器为其访问者积累的数据
                 库信息(购物历史、地址信息等)。


                                                                客户端识别与cookie机制   |   279
   300   301   302   303   304   305   306   307   308   309   310