Cookie技术分析与理解

Cookie技术分析与理解

本文主要介绍cookie技术的使用与分析。

  • cookie是什么
  • cookie的使用方法
  • cookie的应用场景
  • cookie使用需注意的细节

  1. cookie是什么

首先引入度神的解释:Cookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。定义于RFC2109和2965都已废弃,最新取代的规范是RFC6265[1] 。(可以叫做浏览器缓存)

博主俗人的理解:cookie就是服务器端为了保存某些数据,或实现某些必要的功能,当用户访问服务器时,从服务器回传到客户端的一个或多个数据,这些数据因设置的保存时间不同,故保存在浏览器内存中或写入用户PC的硬盘当中,当下次用户再次访问服务器端时,则带着这些文件去与服务器端进行联系,这些数据或写入硬盘当中的数据文件就是cookie。

2.cookie的使用方法

以下为cookie简单例子一个,用于显示用户上次访问的时间

        response.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=utf-8");

        response.getWriter().print("您上次访问时间是:");
        //获取cookie集合
        Cookie cookies[]=request.getCookies();
        //获取名字为lasttime的cookie值
        for(int i=0;cookies!=null && i<cookies.length;i++){
            if(cookies[i].getName().equals("lasttime")){
                long cookieValue=Long.parseLong(cookies[i].getValue());
                Date date=new Date(cookieValue);
                response.getWriter().print(date.toLocaleString());
            }
        }
        //创建cookie
        Cookie cookie=new Cookie("lasttime",System.currentTimeMillis()+"");
        //设置cookie有效期,单位为秒
        cookie.setMaxAge(1*24*3600);
        //设置cookie有效域
        cookie.setPath("/Learn1");
        //将cookie添加到response
        response.addCookie(cookie);

cookie

3 . cookie的应用场景

cookie的应用场景有很多,最具代表性的当属网站的记录用户账号和密码的功能了,大家可能经常看到登录某某论坛,某某网站时,下面有个选项为N天内自动登录,其实这就是cookie的应用。当用户第一次输入账号密码时给服务器发送请求时,服务器会根据账号密码回写一个字符串cookie,当用户下次再向该服务器发送登录请求时,则带着这个字符串cookie一起去访问服务器,这时,服务器只需要对比次字符串和数据库中存储的字符串是否相同,则可以达到用户自动登录功能。

4 . cookie使用需注意的细节

  • 在创建cookie时,如果不设置cookie的有效期,则默认为一个会话有效期(及浏览器关闭之前)。
  • cookie的有效域若不设置,则有效域为当前web资源servlet所在文件夹域。
  • 如想删除客户端cookie,则需将cookie的有效期设置为0及可,但作用域要与原作用域相同(path)。
  • 一个cookie是有大小限制的,一般为4K左右,每个Web最多为20个cookie。

本人水平有限,如有错误请指正,我会及时修改


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值