Cookie:我理解为,我在浏览网页时,网页后台对我所浏览网页的类型进行收集提取,cookie收集着我们的隐私,这些也是黑客攻击者的目标(纯小白理解)
下面的图描述Cookie在浏览器和服务器之间的传输过程
Cookie的语法格式:
HTTP Set-Cookie头的格式为:
Set-Cookie:name = value;[expires=date];[path=pathname];[domain=domainname];[secure];
方括号表示该属性可以省略,name=value属性可以包含多个。 例如:
Set-Cookie:id="XX";expires=Wed,28-Fer-07 15:30:00 GMT;domain="google.com";path="/";secure;
Cookie属性详解
(1)name=value
指定cookie数据项的名称,该属性的语法格式:nameofcookie=value
nameofcookie是cookie的数据项的名称,value是该名称对应的值,是一个字符串,
可以由一系列字符组成,但不能含有分号(;)、逗号(,)和空白符,例如:
id = 12345678
email = [email protected]
name=demon
(2)expires=date(可选属性)
格式为:expires=weekday,DD-MON-YY HH:MM:SS GMT
weekday表示为星期几,如Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,
也可以缩写,如Mon、Tues、Wed等
DD-MON-YY指定日期,分别为日、月、年;
HH:MM:SS指定时间,分别为时、分、秒;
GMT表示该时间为格林威治标准时间,这里的日期时间总是使用GMT; 例如:
expires=Friday,14-Jan-07 15:50:00 GMT
(3)path=pathname(可选属性)
指定cookie可用于特定的服务器中的什么位置。在cookie中指定路径可以同一个域中的多个页面共享cookie.例如:
path=\home
path=\aa\bb\int
(4)domain=domainname(可选属性)
指定是否所用的域名后,可以在同一个域的多个服务器之间共享cookie,而无需为每一个服务器都指定cookie
Domainname为域名,可以使用完整的URL格式http://domain,也可以使用省略http:// 的简写方式。例如:
domain=www.google.com
domain=http://www.google.com
(5)secure(可选属性)
指定是否通过安全通道传递cookie,如果设定该属性,那么cookie必须使用HTTPS协议进行传递。
语法格式为:secure
注意:
Cookie必须以键值对的形式存在,其属性可以有多个,但这些属性之间必须用分号和空格分隔
在组成cookie的字符串中,不允许使用分号,逗号以及空白符
在构造cookie时,制定的"名-值"对儿的name=value称为属性,它必须使用分号作为结束符
这里只是简单的归纳一下,在以后的学习中还会继续总结!!
参考:
《精通脚本黑客》
《java Web程序设计任务教程》