Cookie的格式及组成

Cookie由变量名和值组成,类似 Javascript变量。其属性里既有标准的 Cookie变量,也有用户自己创建的变量,属性中变量是用“变量=值”形式来保存。
  根据Netscape公司的规定, Cookie格式如下:

  Set- Cookie: NAME=VALUE;Expires=DATE;Path=PATH;Domain=DOMAIN_NAME;SECURE

  NAME=VALUE:

  这是每一个 Cookie均必须有的部分。NAME是该 Cookie的名称,VALUE是该 Cookie的值。在字符串“NAME=VALUE”中,不含分号、逗号和空格等字符。
  Expires=DATE:Expires变量是一个只写变量,它确定了 Cookie有效终止日期。该属性值DATE必须以特定的格式来书写:星期几,DD-MM-YY HH:MM:SS GMT,GMT表示这是格林尼治时间。反之,不以这样的格式来书写,系统将无法识别。该变量可省,如果缺省时,则 Cookie的属性值不会保存在用户的硬盘中,而仅仅保存在内存当中, Cookie文件将随着浏览器的关闭而自动消失。
  Domain=DOMAIN-NAME:Domain该变量是一个只写变量,它确定了哪些Internet域中的Web服务器可读取浏览器所存取的 Cookie,即只有来自这个域的页面才可以使用 Cookie中的信息。这项设置是可选的,如果缺省时,设置 Cookie的属性值为该Web服务器的域名。
  Path=PATH:Path属性定义了Web服务器上哪些路径下的页面可获取服务器设置的 Cookie。一般如果用户输入的URL中的路径部分从第一个字符开始包含Path属性所定义的字符串,浏览器就认为通过检查。如果Path属性的值为“/”,则Web服务器上所有的WWW资源均可读取该 Cookie。同样该项设置是可选的,如果缺省时,则Path的属性值为Web服务器传给浏览器的资源的路径名。
  可以看出我们借助对Domain和Path两个变量的设置,即可有效地控制 Cookie文件被访问的范围。
  Secure:在 Cookie中标记该变量,表明只有当浏览器和Web Server之间的通信协议为加密认证协议时,浏览器才向服务器提交相应的 Cookie。当前这种协议只有一种,即为HTTPS。
 
 
            Cookies以键值的方式记录会话跟踪的内容.服务器利用响应报头Set- Cookie来发送 COOKIE信息.在RFC2109中定义的SET- COOKIE响应报头的格式为:
Set- Cookie: Name = Value; Comment = value; Domain = value; Max-Age = value; Path = Value;
Secure; Version = 1 * DIGIT;

Name是 Cookie的名字,Value是它的值.Name=Value属性值对必须首先出现,在此之后的属性-值对可以以任何顺序出现. 在Servlet规范中,用于会话跟踪的 cookie的名字必须是JSESSIONID,Comment属性是可选的,因为 Cookie可能包含其它有关用户私有的信息.这个属性允许服务器说明这个 Cookie的使用,用户可以检查这个消息,然话决定是否加入或继续会话.Domain属性也是可选的.它用来指定 Cookie在哪一个域中有效.所指定的域必须以点号(.)来开始.Max-Age属性是可选的,用于定义 Cookie的生存时间,以秒为单位.如果超过了这个时间,客户端就应该丢弃这个 cookie.如果指定的秒数为0,表示这个 cookie应立即被丢弃.Path属性是可选的,用于指定这个 cookie在哪一个URL子集下有效.Secure属性是必需的,它的值是一个十进制数,标识 cookie依照的状态管理规范的版本.例如:
set- cookie: uid = zhangsan; Max-Age=3600; Domain=.sun.org; Path=/bbs; Version=1
它表示一个名为uid,值为zhangsan的 cookie.生存时间为3600秒,在sunxin.org域的 bbs路径下有效.在3600秒后,客户端将抛弃这个 cookie. 当IE收到上面这个响应报头后,可以选择接受或拒绝这个 cookie.如果ID接受了这个 cookie,当浏览器下一次发送请求到http://www.sunxin.org/bbs路径下的资源时,同时也会发送以下的请求报头:
cookie:uid=zhangsan.

你可能感兴趣的:(职场,cookie,格式,休闲)