Cookie简述

1. 概念

一种客户端会话技术,可以将一些少量的数据保存在客户端。

2. 快速使用

  • 步骤

    1. 创建cookie对象,并设定数据

      • new Cookie(String name, String value);
    2. 发送cookie对象到客户端(将cookie加载到response)

      • response.addCookie(Cookie cookie) ;
    3. 获取cookie(获取从客户端返回的request获取cookie)

      • Cookie[] request.getCookies() ;
    4. 代码

      //设定cookie数据,创建cookie对象
      Cookie c=new Cookie("msg","hello");
      //发送cookie对象到客户端
      response.addCookie(c);
      //获取cookie并打印
      Cookie[] cs = request.getCookies();
      if(cs!=null){
      for (Cookie c : cs) {
      String name = c.getName();
      String value = c.getValue();
      System.out.println(name+":"+value);
      }
  • cookie的一些小细节

    1. 一次可不可以发送多个cookie?

      • 可以,同时也可以接收到多个cookie。
      • 只需要多创建几个cookie对象,多调用几次response的addCookie方法即可
    2. cookie一般在计算机保存多长时间

      1. 默认情况下,只要关掉浏览器,cookie数据就会被销毁

      2. 如何持久化储存?

        • setMaxAge(int seconds)

          1. 正数:将cookie数据写进硬盘,持久储存,并指定销毁时间seconds。

          2. 负数:默认情况

          3. 零:删除cookie信息

          4. 代码

                    Cookie c1=new Cookie("msg","hello");
            c1.setMaxAge(300);
            response.addCookie(c1);
            //300秒后自动销毁
      3. cookie能否存中文?

        • 在tomcat 8 之前 cookie中不能直接存储中文数据。(需要URL编码)
        • 在tomcat 8 之后,cookie支持中文数据。特殊字符还是不支持,建议使用URL编码存储,URL解码解析
      4. cookie共享问题?

      5. 在同一个服务器中,项目共享cookie

        • 默认情况下,不共享
        • 使用方法setPath(String path):设置cookie的获取范围。默认情况下,设置当前的虚拟目录,如果要共享,则可以将path设置为"/"
      6. 不同的服务器之间的cookie共享?

        • setDomain(String path):如果设置一级域名相同,那么多个服务器之间cookie可以共享

          • setDomain(".baidu.com"),那么tieba.baidu.com和news.baidu.com中cookie可以共享
    3. cookie的特点和作用

      1. cookie存储数据在客户端浏览器
      2. 浏览器对于单个cookie的大小以及同一个域名下总cookie数量也有限制(20个)
      3. 作用:
        1. 由于cookie在客户端数据并不安全,cookie一般用于存储少量不太敏感的数据
        2. 他可以完成一些类似于在没有登陆的情况下,完成服务器队客户端身份的识别

Cookie学习总结的更多相关文章

  1. Cookie学习笔记二:Cookie实例

    今天说说刚刚学到的两个Cookie的最经典应用:自己主动登录和购物车设置 一:自己主动登录 须要两个页面:login.jsp与index.jsp,login.jsp用来输出登录信息,index.jsp ...

  2. cookie学习指南

    一.什么是cookie cookie也叫HTTP cookie,最初是用来客户端和服务器端进行会话用的,由于HTTP是一种无状态的协议,为了维持用户和跟踪用户信息,所以引入了cookie和sessio ...

  3. 关于COOKIE学习的一二

    index.php <?php setcookie("name","dalisng",time()+3600); setcookie("addr ...

  4. cookie学习

    cookie是储存于访问者的计算机中的变量,每当同一台计算机通过浏览器请求某个页面时,就会发送这个cookie,可以使用javascript来创建和取回cookie的值. 创建和存储cookie 首先 ...

  5. 保存会话数据——cookie学习

    Cookie是客户端技术,程序把每个用户的数据以cookie的形式写给用户各自的浏览器.当用户使用浏览器再去访问服务器中的web资源时,就会带着各自的数据去.这样,web资源处理的就是用户各自的数据了 ...

  6. PHP Cookie学习

    <?php /* Cookie在计算机中保存的格式 用户名@网站地址[数字].txt Cookie在文件夹下,每个Cookie文件都是一个简单而又普通的文件件而不是程序,Cookie中的内容大多 ...

  7. 【转载】HTTP Cookie学习笔记

    什么是cookie? cookie是什么?是饼干,小甜点? No! No! No! 我今天要总结的cookie并不是你所想的小甜心,我这里要说的cookie是Web开发中的一个重要的"武器& ...

  8. Session、Cookie 学习笔记

    在开始今天的博文之前首先为自己庆祝一下自己有了三个粉丝,也有了同僚的评论,说实话因为这个开心了好久!哈哈,好了在开始今天的正题之前,首先大家需要了解以下几点: a. HTTP 协议是无状态的协议,WE ...

  9. javaweb之Cookie学习

    Cookie简介 HTTP是无状态协议,服务器不能记录浏览器的访问状态,也就是说服务器不能区分中两次请求是否由一个客户端发出.这样的设计严重阻碍的Web程序的设计.如:在我们进行网购时,买了一条裤子, ...

  10. Cookie学习笔记

    1.简介 1.什么是cookie:cookie是一种能够让网站服务器把少量数据(4kb左右)存储到客户端的硬盘或内存.并且读可以取出来的一种技术. 2.当你浏览某网站时,由web服务器放置于你硬盘上的 ...

随机推荐

  1. 详细了解 Linkerd 2.10 基础功能,一起步入 Service Mesh 微服务架构时代

    Linkerd 提供了许多功能,如:自动 mTLS.自动代理注入.分布式追踪.故障注入.高可用性.HTTP/2 和 gRPC 代理.负载均衡.多集群通信.重试和超时.遥测和监控.流量拆分(金丝雀.蓝/ ...

  2. Java 到底是值传递还是引用传递?

    关于这个问题,引发过很多广泛的讨论,看来很多程序员对于这个问题的理解都不尽相同,甚至很多人理解的是错误的.还有的人可能知道Java中的参数传递是值传递,但是说不出来为什么. 在开始深入讲解之前,有必要 ...

  3. ORACLE中的PL/SQL

    一. 1.过程,函数,触发器是pl/sql编写.                2. 过程函数触发器是在Oracle中.                      3.pl/sql是非常强大的数据库过 ...

  4. AliCloudDenoise 语音增强算法:助力实时会议系统进入超清音质时代

    近些年,随着实时通信技术的发展,在线会议逐渐成为人们工作中不可或缺的重要办公工具,据不完全统计,线上会议中约有 75% 为纯语音会议,即无需开启摄像头和屏幕共享功能,此时会议中的语音质量和清晰度对线上 ...

  5. Linux驱动中的EPROBE_DEFER是个啥

    ​Linux kernel 驱动中,有不少驱动会引用到 EPROBE_DEFER 这个错误号.比如下面这个例子,对 devm_gpiod_get 的返回值进行判断,如果有错误且错误号不是 -EPRBO ...

  6. 密码学系列之:twofish对称密钥分组算法

    简介 之前的文章我们讲到blowfish算法因为每次加密的块比较小只有64bits,所以不建议使用blowfish加密超过4G的文件.同时因为加密块小还会导致生日攻击等.所以才有了blowfish的继 ...

  7. 简易版JDBC连接池

    JDBC连接池mini版的实现 首先是工具类 DbUtil 主要参数就是Driver.User.PWD等啦,主要用于建立连接 URL需要注意的是SSL和serverTimezone参数,和mysql驱 ...

  8. 一篇文章快速搞懂 Apache SkyWalking 的 OAL

    OAL简介 在流模式(Streaming mode)下,SkyWalking 提供了 观测分析语言(Observability Analysis Language,OAL) 来分析流入的数据. OAL ...

  9. Android Studio使用Gradle引入第三方库文件

    原文链接:https://blog.csdn.net/qiutiandepaomo/article/details/81538937 使用AndroidStudio开发Android应用的时候,会经常 ...

  10. 什么是OSI的第7层

    1.什么是Internet的第7层? 第7层是指Internet的7层OSI模型的顶层,也称为"应用程序层".这是数据处理的顶层,位于用户与之交互的软件应用程序的表面之下或幕后.例 ...