Cookie通常是在HTTP标头中设置的(尽管JavaScript也可以直接在浏览器中设置Cookie)。设置cookie的JSP可能会发送类似于以下内容的标头-
HTTP/1.1 200 OK Date: Fri, 04 Feb 2000 21:03:38 GMT Server: Apache/1.3.9 (UNIX) PHP/4.0b3 Set-Cookie: name = xyz; expires = Friday, 04-Feb-07 22:03:38 GMT; path = /; domain = nhooo.com Connection: close Content-Type: text/html
如您所见,Set-Cookie标头包含名称值对,GMT日期,路径和domain。名称和值将进行URL编码。在到期字段是浏览器的指令,以“忘记”给定的时间和日期后的饼干。
如果将浏览器配置为存储cookie,则它将保留此信息直到到期日期。如果用户将浏览器指向与cookie的路径和域匹配的任何页面,它将把cookie重新发送到服务器。浏览器的标题可能看起来像这样-
GET / HTTP/1.0 Connection: Keep-Alive User-Agent: Mozilla/4.6 (X11; I; Linux 2.2.6-15apmac ppc) Host: zink.demon.co.uk:1126 Accept: image/gif, */* Accept-Encoding: gzip Accept-Language: en Accept-Charset: iso-8859-1,*,utf-8 Cookie: name = xyz
然后,JSP脚本将通过请求方法request.getCookies()来访问cookie,该方法返回一个cookie对象数组。