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由名称(cookieName)和值(cookieValue)组成,用等号分隔,如`cookieName=cookieValue`。多个Cookie之间使用分号加空格(`; `)分隔。每个Cookie还有其生命周期,即失效日期,超过该日期则会被浏览器...
### Cookie、Session与Token的区别及使用详解 #### 一、Cookie **定义**: Cookie是一种用于在客户端保持状态的方案。简单来说,当你访问一个网站时,该网站可能会在你的计算机上留下一些信息(如用户名、密码等),...
Cookie是由服务器端设置并在客户端存储的一小段文本信息,它由一个或多个键值对组成,每个键值对之间用分号(;)隔开。当浏览器向服务器发送请求时,会自动将该域下的所有Cookie附带在HTTP头部发送回去。 **获取...
每个Cookie由一个名称(Name)、值(Value)、过期时间(Expires)以及域(Domain)等属性组成。域决定了Cookie可以在哪些网站上使用,而过期时间则指定了Cookie何时失效。 二、Cookie操作类设计 1. **读取Cookie**...
读取Cookie则相对简单,因为`document.cookie`返回的是所有Cookie组成的字符串,我们需要将其拆分并解析。这里有一个读取Cookie的函数: ```javascript function getCookie(name) { var cookieArr = document....
总结起来,Cookie在Web开发中扮演了不可或缺的角色,尽管在前后端分离的趋势下其使用频率有所下降,但仍然是理解Web交互和用户状态管理的重要组成部分。通过“Cookie学习练习记录”这样的实践项目,开发者可以更好地...
1. **Cookie的结构**:Cookie 由名称、值和一系列可选属性组成。这些属性包括过期时间、路径、域、安全标志等。 2. **生命周期**:Cookie 可以被设置为永久或临时。永久 Cookie 即使关闭浏览器后也会保留,而临时 ...
本文将深入探讨Cookie的基本概念、组成部分、操作方法以及相关注意事项。 1. **Cookie的基本概念** Cookie是由Web服务器发送到用户浏览器并存储在本地的一小段文本信息,当用户再次向同一Web服务器发送请求时,...
例如,`document.cookie`返回的是所有Cookie组成的字符串,需要解析这个字符串来获取单个Cookie的信息。 - **浏览器开发者工具**:大多数现代浏览器都内置了开发者工具,其中的“网络”或“资源”面板可以查看HTTP...
.NET框架中的Cookie操作是Web开发中的重要组成部分,用于在客户端和服务器之间传递状态信息。Cookie是一种小型文本文件,由服务器发送到用户的浏览器,并由浏览器在后续请求时返回给服务器。在C#中,处理Cookie主要...
每个Cookie由多个键值对组成,每个键值对之间用分号或逗号隔开。 二、创建Cookie 在JavaScript中,我们通常使用`document.cookie`来创建Cookie。以下是一个创建Cookie的示例: ```javascript function setCookie...
1. **Cookie的基本结构**:Cookie由名称、值、过期时间、路径、域等属性组成。每个Cookie都是一个键值对,服务器通过HTTP头将Cookie发送给客户端,客户端则会在后续的请求中自动携带这些Cookie回发。 2. **创建...
由于`document.cookie`返回的是所有Cookie组成的字符串,我们需要解析这个字符串来获取特定的Cookie值: ```javascript function getCookie(key) { const cookies = document.cookie.split(';'); for (let i = 0; ...
1. **定义**:Cookie是由服务器发送到用户浏览器并保存在本地的一小块数据,由一个名称、一个值、一个过期时间、一个路径、一个域和安全属性组成。 2. **类型**:有两种类型的Cookie,Session Cookie和Persistent ...
描述中提到的“好东西,web开发必要的小工具”,意味着这个插件是Web开发者工具箱中的一个重要组成部分,能够帮助他们高效地处理cookie相关任务。能够“直接导出cookie”的特性尤其实用,因为这使得开发者可以快速...
Cookie是由服务器端发送到浏览器并保存在本地的一个小文本文件,它由键值对组成,每个键值对之间用分号(;)隔开。在浏览器下次请求同一域的页面时,会自动将Cookie一起发送回服务器。每个Cookie都有一个生命周期,...
1. 获取Cookie:使用`document.cookie`属性,但返回的是所有Cookie组成的字符串,需要通过解析来获取特定Cookie。例如: ```javascript function getCookie(name) { var cookies = document.cookie.split('; '); ...
在现代Web开发中,用户认证与会话管理是构建安全且用户体验友好的网站的关键组成部分。其中,使用Cookie存储用户名和密码是一种常见的做法,尤其在用户选择“记住我”功能时。本文将深入探讨如何使用Cookie来记录并...
在Android开发中,登录功能是应用的基本组成部分,而Cookie机制在实现用户会话管理中扮演着重要角色。本文将深入探讨如何在Android环境下利用Cookie进行登录处理,以及如何进行Cookie的读写操作。 Cookie是一种小型...
每个Cookie都由一个三元组`[name, domain, path]`组成,这三个元素共同决定了一个Cookie的唯一性。即使其他属性相同,只要这三项中有任何一项不同,就认为是不同的Cookie。 ##### 4. 同源策略(SOP) 同源策略是...