Cookie

1、什么是Cookie

     在显示生活中,当顾客在购物时,商场经常会赠送顾客一张会员卡,卡上记录用户的个人信息(姓名、手机号等)、消费额度和积分额度等。顾客一旦接受了会员卡,以后每次光临该商场时,都可以使用这张会员卡,商场也将根据会员卡上的消费记录计算会员的优惠额度和累加积分。在Web应用中,cookie的功能类似于这张会员卡,当用户通过浏览器访问Web服务器时,服务器会给客户端发送一些信息,这些信息都保存在Cookie中。这样,当该浏览器再次访问服务器时,都会在请求头中将Cookie发送给服务器,方便服务器对浏览器做出正确的响应。 

     服务器向客户端发送Cookie时,会在HTTP响应头字段中增加Set-Cookie响应头字段。Set-Cookie头字段中设置的Cookie遵循一定的语法格式,具体示例如下:

Set-Cookie:user = klh; Path=/;

     在上述示例中,user表示Cookie的名称,klh表示Cookie的值,Path表示Cookie的属性。需要注意的是,Cookie必须以键值对的形式存在,其属性可以有多个,但这些属性之间必须用分号和空格分隔。

2、Cookie的基本使用

     Cookie将用户的信息保存到客户端浏览器的一个技术,当下访问的时候,浏览器会自动携带Cookie的信息过来到服务器端

     * Cookie 的基本使用

创建Cookienew Cookie(name,value),javax.servlet.http.Cookie
将cookie发送给浏览器HttpServletResponse.addCookie(javax.servlet.http.Cookie)
接收浏览器携带的所有cookieHttpServletRequest.getCookies()

3、Cookie的分类

    3.1、会话级别的Cookie : 默认的,关闭了浏览器Cookie就销毁了

    3.2、持久级别的Cookie :需要设置有效时长的,关闭浏览器也不会销毁的Cookie

             * setMaxAge(int expiry),以秒为单位的时间,超过了该时间后Cookie会自动销毁

               setMaxAge(0),手动删除持久性的Cookie。(前提:path和name必须一致)

             * setPath(String uri),设置Cookie的有效路径

     3.3、Cookie唯一标识

              domain + path + name(类似Java中 : 包 + 类名)

   *domain 域名。不同的网站使用的是不同的域名,cookie就不同。

    * path  路径。通过cookie.setPath(...)设置的内容 

            * name   cookie名称。通过 new Cookie(name,...)确定的内容

4、Cookie的API

方法名描述
getName()获得cookie名称
getValue()获得cookie的值
setMaxAge(int expiry)

设置cookie的有效时间

* 如果没有设置,cookie只缓存浏览器缓存中,浏览器关闭,cookie删除。

* 如果没有设置有效时间,在时间范围内,cookie被写入到浏览器端,关闭浏览器下次访问仍可获得,直到过期。

setPath(java.lang.String.uri)设置cookie允许被访问的路径。设置的路径,以及子路径都被允许访问。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值