IE Cookie文件的结构

在C++中,Cookie的结构体可以定义为:

typedef struct CookieEntry

{

       PTCHAR     pszName;

       PTCHAR     pszValue;

       PTCHAR     pszUrlPath;

       DWORD      dwFlags;//Security Flags

       DWORD      dwLowWordExpiration;//LowWord of FILETIME

       DWORD      dwHighWordExpiration;//HighWord ofFILETIME

       DWORD      dwLowWordCreation;//LowWord of FILETIME

       DWORD      dwHighWordCreation;//HighWord of FILETIME

       CHAR   chEnd;//'*'

}COOKIEENTRY, *LPCOOKIEENTRY;

总结起来,每个Cookie有6个属性,分别为:Cookies Name; Cookies Value; Domain;Path; Secure; Expire Date。这里给出的Cookie的6个属性和C++中定义的结构体不完全一致。其原因将在Cookie的文件格式小节给出解释。

下面对Cookie结构中的各个属性分别给出解释:

Cookies Name,必要属性,指明了Cookie的名字,有一系列字符(不包括括号、逗号、空格等)组成;每个cookie由一个唯一的名称代表,这个名称可以包含字母、数字、下划线。Cookie的名称是不分大小写,所以mycookie和MyCookie是一样。但考虑到服务器端语言可能区分大小写,所以对程序开发者来说定义和使用时最好还是区分大小写。

Cookies Value,Cookie的值,Web服务器储存在Cookie中的信息;保存在Cookie中的字符串值。这个值在存储之前是用encodeURIComponent()对其进行编码的,否则会丢失数据或占用了Cookie。而且Cookie名字和值加起来的字节数不能超过4095字节,也即4KB。

Domain, 可选,指明了Cookie的有效域的范围,默认的是产生Cookie的服务器的名字;出于安全考虑,网站不能访问由其他域所创建的Cookie。创建Cookie以后,域的信息会作为cookie的一部分存储下来。关于域,举个例子来说,如http://www.baidu.com/view/index.html, 它的域为:baidu.com。这里不做详述,后面的章节会有所涉及。

Path, 可选,指明了Cookie在有效域中的有效路径,在有效路径外的网页不可以读写Cookie,默认的是产生此Cookie的信息的URL;而该属性也是Cookie的另一个安全特征,限制对Web服务器上特定目录的访问。即控制哪些访问能触发发送。例如请求的地址是上面的URL,如果path=/view,这个Cookie就会被发送,但是path为其他路径的话,该Cookie会被忽略。

Secure, 可选,一个true/false值,用于表示Cookie是否只能从安全网站(使用SSL和https协议的网站)中访问;即如果标记一个Cookie为安全的(这个值被设置为true),那么仅当客户端与服务器的对话通道是安全的(如HTTP over SSL),Cookie才会被传送。

Expire Date, 可选,指明了Cookie的有效时间,一旦过期,Cookie将不再有效,通常由产生Cookie的程序(Date由服务器指明)指定,如果不指明,系统会默认Cookie将在用户会话结束后自动过期。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值