会话跟踪技术之—Cookie技术

一、什么是Cookie?

Cookie是在浏览器访问Web服务器的某个资源时,由Web服务器在HTTP响应消息头中附带传送给浏览器的一段数据。浏览器可以决定是否保存这段数据。 

推荐阅读百度文库资料cookie_百度百科

二、cookie注意:

一旦WEB浏览器保存了某个Cookie,那么它在以后每次访问该WEB服务器时,都应在HTTP请求头中将这个Cookie回传给WEB服务器。
WEB服务器通过在HTTP响应消息中增加Set-Cookie响应头字段将Cookie信息发送给浏览器,浏览器则通过在HTTP请求消息中增加Cookie请求头字段将Cookie回传给WEB服务器。
一个Cookie只能标识一种信息,它至少含有一个标识该信息的名称(NAME)和设置值(VALUE)。
一个WEB站点可以给一个WEB浏览器发送多个Cookie,一个WEB浏览器也可以存储多个WEB站点提供的Cookie。
浏览器一般只允许存放300个Cookie,每个站点最多存放20个Cookie,每个Cookie的大小限制为4KB。

三、基础用法:

1、Set-Cookie响应头字段:

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

Set-Cookie头字段中设置的Cookie内容是具有一定格式的字符串,具体格式如下:
Set-Cookie: Cookie名称=值;属性名=属性值;属性名2=属性值2
Cookie名称只能由普通的英文ASCII字符组成。

注意:一个响应消息首部都可以包含多个Set-Cookie字段来同时设置多个Cookie信息。在同一个Set-Cookie字段最好不要设置多个Cookie信息。

2、Cookie请求头字段
如果浏览器同意接受Web服务器发送过来的Cookie消息,他会存储Cookie消息,并在以后对该Web服务器的每次访问请求中都使用一个Cookie请求头字段将Cookie消息回送给Web服务器。
如果有多个Cookie消息,也是通过这一个Cookie请求头字段来回送的。
Cookie头字段的格式示例如下:
Cookie:属性名=属性值;属性名=属性值

四、在Servlet类使用Cookie

Servlet API中提供了一个javax.servlet.http.Cookie类来封装Cookie信息。它包含有生成Cookie信息和提取Cookie信息的方法。

HttpServletResponse接口中提供的addCookie()方法将构造好的Cookie实例的信息添加到响应消息头中。如果有多个Cookie实例信息要添加到响应消息头中,可以多次调用这个方法。
HttpServletRequest接口中提供的getCookie()方法获取请求消息头中的所有Cookie消息,并封装成各个Cookie实例,存储在一个数组中再返回。

cookie中常用的方法:

public Cookie(String name,String value);//唯一的构造方法,用来设置键值对
getName();getValue();和setValue();//返回cookie的名字,返回和设置cookie的值
setMaxAge()和getMaxAge();//设置和获得cookie的有效时间,以秒为单位。
setPath()和getPath();
setDomain()和getDomain()


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值