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. Appium_Android自动化测试Genymotion之模拟器联网设置

    目的: 使用Genymotion做Android项目,需要考虑到联网,以下是设置操作 操作步骤: 打开VM VirtualBox,设置->网络-> 启动模拟器,设置  备注: 模拟器的手机 ...

  2. 重新整理 .net core 实践篇—————路由和终结点[二十三]

    前言 简单整理一下路由和终节点. 正文 路由方式主要有两种: 1.路由模板方式 2.RouteAttribute 方式 路由约束: 1.类型约束 2.范围约束 3.正则表达式 4.是否必选 5.自定义 ...

  3. 【UG二次开发】获取系统信息UF_ask_system_info

    获取系统信息可以使用这个函数UF_ask_system_info 下面是例子: 1 extern DllExport void ufsta(char *param, int *returnCode, ...

  4. JAVA微服务应用(1)--SpringBoot中的REST API调用(学习笔记)

    好长时间没有写学习小结了,最近宁正好看了小马哥的微服务系列之<Spring Boot>系列,颇有收获,并且公司也布置一个课题就是关于Spring中的REST API调用.于是乎回归本行,再 ...

  5. 在C++中,你真的会用new吗?

    摘要:"new"是C++的一个关键字,同时也是操作符.关于new的话题非常多,因为它确实比较复杂,也非常神秘. 本文分享自华为云社区<如何编写高效.优雅.可信代码系列(2)- ...

  6. Ubuntu配置apt安装源为清华源[含自动配置脚本]

    Ubuntu配置apt安装源为清华源[含自动配置脚本] 一.备份原配置文件 Ubuntu 的软件源配置文件是/etc/apt/sources.list.将系统自带的该文件做个备份,以防万一. sudo ...

  7. C#调用JAVA(二)调用方法

    上期我们创建了jar包并放到了unity中,那么我们继续 如果您还没有看上一期请先看上一期,这是链接 C#调用JAVA(一)制作jar包 - 执著GodShadow - 博客园 (cnblogs.co ...

  8. Android Studio用上国产杰出代表夜神模拟器

    背景介绍 在Windows上除了官方的AVD(Android Virtual Device)我们还可以使用更加便捷的国产安卓模拟器,比如杰出的代表就是夜神模拟器. 我们现在是假设你已经安装好了Andr ...

  9. 3、搭建 rsync备份服务器

    yum install rsync -y rsync(873):数据同步,把一台服务器上的数据以何种权限同步到另一台服务器上,是linux 系统下的数据镜像备份工具.使用快速增量备份工具Remote ...

  10. GDI+中发生一般性错误的解决办法(转载)

    今天在开发.net引用程序中,需要System.Drawing.Image.Save 创建图片,debug的时候程序一切正常,可是发布到IIS后缺提示出现"GDI+中发生一般性错误" ...