Cookie

来源:互联网 发布:扇贝单词mac版 编辑:程序博客网 时间:2024/04/26 20:38
 

一、什么是cookie

是在客户端保持http信息状态的技术

是浏览器访问web服务器的某个资源时,由web服务器在http响应消息头中附带传送给浏览器的一段数据。

浏览器可以决定是否保存这段数据。

一旦浏览器保存了这段数据,那么在他以后每次能访问web服务器时,都会在http请求头中将这段数据传回给web服务器。

Cookie最先由web服务器发出的,是否发送cookie和发送的cookie的具体内容,完全由web服务器端程序决定的。

Web服务器在应答消息中增加set-cookie响应头字段将cookie信息发送浏览器

浏览器则通过在请求消息中增加cookie请求字段将cookie回传给web服务器

一个cookie只能标示一种信息,至少含有一个标示该信息的名称和设置值

一个web站点可以给发送多个cookie各一个浏览器

一个web浏览器也可以存储多个站点的cookie

设置有效期setMaxAge()

二、set-cookie响应头字段

set-cookie响应头字段用于指定web服务器向客户端传送的cookie内容,一般是在web服务器程序想要启动一个有状态的会话时,他就会在响应消息中添加set-cookie字段来传送会话id以及相关的信息

格式:

set-cookie:cookie名称=值;属性=属性值;属性名2=属性值2;………..

set-cookie头字段中常用的属性值:

comment:制定一些提示信息

domain:指定cookie在哪个域中的所有主机时,都将回传这个cookie信息。默认值为当前主机名。

Max-age:指定cookie在客户端保持的有效时间,值时以秒为单位的十进制整数。

当设置为0时,表示通知浏览器立即删除这个cookie信息。

设置为负整数时,表示要求客户端浏览器将这个cookie信息保存在自身进程的内存中,cookie信息随着这个浏览器进程的关闭而消失,并且这个cookie消息对同一个台计算机的其他浏览器进程无效,这和没有设置max-age一样

Path:用于指定cookie对服务器上的哪个url目录和其子目录有效。默认值是产生set-cookie头字段时的那个请求url地址所有的目录

Port:指定浏览器通过哪些端口访问此web服务器时cookie才有效

三、cookie请求头字段

       如果浏览器统一接收服务器发送过来的cookie信息,他会存储cookie信息,并在以后对该web服务器每次访问的请求消息中都是使用一个cookie请求头字段将cookie消息回送给web服务器。如果有多个cookie消息,也是通过一个cookie请求头字段来回送的。

浏览器每次都会按照一定的规则来向服务器发送访问请求的

四、在servlet中操作cookie

       Cookie类中提供了一个构造方法来创建cookie实例

       Getname()方法:用于获取该cookie的名称

       Setvalue()方法和Getvalue()方法:用于设置和获取cookie的值

Setmaxage()方法和getmaxage()方法:用于设置和获取cookie在客户端浏览器上保持的有效地时间

Setpath()方法和setpath()方法:用于设置和获取cookie的有效路径

Setdomain()方法和getdomain()方法:用于设置和获取cookie的有效域

 

如果想把构造好的cookie实力信息添加到响应消息头中,可以使用httprespose接口中提供的addCookie()方法

如果想从http中请求头中读取所有的cookie消息,可以使用httprequest接口中提供的getcookies()方法,这个方法会读取请求消息中中所有的cookie消息,并封装成各个cookie实例,存储在一个数组中在返回,遍历这个cookie数组,就可以获取想要的cookie消息了。

原创粉丝点击