读cookie

在HTML文档被发送之前,Web服务器通过传送HTTP 包头中的Set-Cookie 消息把一个cookie 发送到用户的浏览器中。下面是一个遵循Netscape cookie草案的完整的Set-Cookie 头:

Set-Cookie:customer=huangxp; path=/foo; domain=.ibm.com; 
expires= Wednesday, 19-OCT-05 23:12:40 GMT; [secure]

Set-Cookie的每个属性解释如下:
        (1)Customer=huangxp 一个"名称=值"对,把名称customer设置为值"huangxp",这个属性在Cookie中必须有。 
        (2)path=/foo 控制哪些访问能够触发cookie 的发送。如果没有指定path,cookie 会在所有对此站点的HTTP 传送时发送。 如果path=/directory,只有访问/directory 下面的网页时,cookie才被发送。在这个例子中,用户在访问目录/foo下 的内容时,浏览器将发送此cookie。如果指定了path,但是path与当前访问的url不符,则此cookie将被忽略。 
        (3)domain=.ibm.com 指定cookie被发送到哪台计算机上。正常情况下,cookie只被送回最初向用户发送cookie 的计 算机。在这个例子中,cookie 会被发送到任何在.ibm.com域中的主机。如果domain 被设为空,domain 就被设置为和提供 cookie 的Web 服务器相同。如果domain不为空,并且它的值又和提供cookie的Web服务器域名不符,这个Cookie将被忽略。 
        (4)expires= Wednesday, 19-OCT-05 23:12:40 GMT 指定cookie 失效的时间。如果没有指定失效时间,这个cookie 就不会被写入计算机的硬盘上,并且只持续到这次会话结束。 
        (5)secure 如果secure 这个词被作为Set-Cookie 头的一部分,那么cookie 只能通过安全通道传输(目前即SSL通道)。否则,浏览器将忽略此Cookie。
一旦浏览器接收了cookie,这个cookie和对远端Web服务器的连续请求将一起被浏览器发送。例如 前一个cookie 被存入浏览器并 且浏览器试图请求URL http://www.ibm.com/foo/index.html 时,下面的HTTP 包头就被发送到远端的Web服务 器。

JavaScript写入cookie:

function
 setCookie
(
 name
, value, expires, path, domain, secure )
 {
 

   var expDays = expires*24*60*60*1000;                     //设置cookie有效期
   var expDate = new Date();
   expDate.setTime(expDate.getTime()+expDays);
 
   var expString = ((expires==null) ? “” : (”;expires=”+expDate.toGMTString()))
   var pathString = ((path==null) ? “” : (”;path=”+path))
   var domainString = ((domain==null) ? “” : (”;domain=”+domain))
   var secureString = ((secure==true) ? “;secure” : “” )
   document.cookie = name + “=” + escape(value) + expString + pathString + domainString + secureString;




     引用地址:http://blog.programfan.com/article.asp?id=24189

你可能感兴趣的:(JavaScript,Web,浏览器,IBM,asp)