Cookie

2023-05-16

Cookie

  • session的实现原理中,每一个session对象会关联一个sessionid。例如

    • JSESSIONID=xxxxxxxxxxxxxx
    • 以上的这个键值对其实就是cookie对象
    • 这个cookie保存在浏览器的运行内存,在浏览器不关闭的情况下,用户再次发送请求的时候会自动将内存的cookie发送给服务器,服务器通过cookie中的的jsessionid的值找到对应的session对象
  • cookie最终是保存在浏览器客户端上的

    • 可以保存在运行内存中(浏览器只要关闭cookie就消失了)
    • 也可以保存在硬盘文件中。(永久保存)
      • 例如:某些网站实现十天内免登录的机制,是在你第一次登录成功时,服务器创建了一个cookie对象然后传给浏览器,浏览器保存在客户端上,这个cookie对象保存了用户名和密码等信息,这个cookie是保存在硬盘文件上的,十天内每次你再次登录时,浏览器都会自动发送一个关联的cookie给服务器,服务器然后获取用户名和密码。
  • cookie作用:

    • cookie进而session机制其实都是保存会话状态
    • cookie是将会话的状态保存在浏览器上(对象存在客户端)
    • session是将会话状态保存在服务器上(对象存在服务器)
    • cookie其实session的作用差不多,都是将用户第一次登录的信息保存在一个对象当中,这个登录其实准确来说是一次请求,发出一次请求后,后端创建一个cookie对象,或者session对象,或者这些对象本来就存在,然后在这个对象中存入一些数据,在cookie中是以键值对的方式,在session中是以attribute的方式,其实也类似于键值对。为什么要用这些对象存储数据,就是为了保存会话状态。因为HTTP协议是无连接的。那么cookie和session之间有什么区别呢?最主要的区别就是,session的生死是由服务器决定的,而cookie不由服务器管理。
  • 可以这样理解cookie

    • 首先cookie是在浏览器上的,可以把它看成用户的一个入场券,拥有该证书可以登录与该证书关联的网站
  • HTTP协议规定:任何一个cookie都是有name和value组成。name和value都是由字符串类型。

  • 在HTTP协议中是这样规定的:当浏览器发送请求的时候,会自动携带该path下的cookie数据给服务器。(URL)

  • 关于cookie的有效时间

    • 怎么用java设置cookie的有效时间
      • cookie.setMaxAge(60 * 60); 设置cookie在一小时之后失效。
      • 没有设置有效时间:默认保存在浏览器的运行内存中,浏览器关闭则cookie消失。
      • 只要设置cookie的有效时间 > 0,这个cookie一定会存储到硬盘文件当中。
      • 设置cookie的有效时间 = 0 呢?
        • cookie被删除,同名cookie被删除。
      • 设置cookie的有效时间 < 0 呢?
        • 保存在运行内存中。和不设置一样。
  • 在java的servlet中,对cookie提供了哪些支持呢?

    • 提供了一个Cookie类来专门表示cookie数据。jakarta.servlet.http.Cookie;
    • java程序怎么把cookie数据发送给浏览器呢?response.addCookie(cookie);
  • 关于cookie的path,cookie关联的路径:

    假设现在发送的请求路径是“http://localhost:8080/servlet13/cookie/generate”生成的cookie,如果cookie没有设置path,默认的path是什么?

    • 默认的path是:http://localhost:8080/servlet13/cookie 以及它的子路径。

    • 也就是说,以后只要浏览器的请求路径是http://localhost:8080/servlet13/cookie 这个路径以及这个路径下的子路径,cookie都会被发送到服务器。

    • 手动设置cookie的path

      cookie.setPath(“/servlet13”);
      
    • 表示只要是这个servlet13项目的请求路径,都会提交这个cookie给服务器。
      浏览器发送cookie给服务器了,服务器中的java程序怎么接收?

    • Cookie[] cookies = request.getCookies(); // 这个方法可能返回null
      if(cookies != null){
          for(Cookie cookie : cookies){
              // 获取cookie的name
              String name = cookie.getName();
              // 获取cookie的value
              String value = cookie.getValue();
          }
      }
      
    • 注意:以上方法获得的cookie数组空的话返回值是null,反正返回值肯定不是0.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Cookie 的相关文章

  • nuxt 获取不到localStorage,使用cookie持久化

    nuxt项目中在store和plugins的js文件里使用localStorage会报错 解决方案 xff1a 1 安装 cookie universal nuxt span class token function npm span i
  • 使用 Chrome 获取 Cookie 的数据

    Chrome 浏览器自带的开发功能相当强大 xff0c 这里只使用它的抓包功能 一 在浏览器中打开目标网站并登录 xff0c 进入目标页面 二 在 Chrome 浏览器下方的开发工具中单击 Network 标签页 按 F5 键 xff0c
  • Cookie小记

    出处 xff1a http www cnblogs com hyddd archive 2008 12 26 1363229 html 最近在工作上经常看一些安全相关的东西 xff0c Cookie以前看过 xff0c 但了解不深 xff0
  • [JavaScript]Cookie详解(转)

    cookie概述 假如利用一个不变的框架来存储购物栏数据 xff0c 而商品显示页面是不断变化的 xff0c 尽管这样能达到一个模拟全局变量的功能 xff0c 但并不严谨 例如在导航框架页面内右击 xff0c 单击快捷菜单中的 刷新 命令
  • 禁止 Cookie 使用 Session,采用 URL 重写,具体解决方案

    先叙述一下 session 的实现原理吧 session 服务器为每个客户端访问开辟的一块内存区域 可以存放一些客户端的一些操作信息 正常情况下在用户通过客户端访问服务器这个过程中 session 一直存活 直到客户端关闭 服务器中的 se
  • 前端数据存储方式

    一 Cookie cookie 用于存储web页面的用户信息 cookie 是一些数据 存储在你电脑上的文本文件中 当web服务器向浏览器发送web页面时 在连接关闭后 服务端不会记录用户的信息 Cookie的作用就是用于解决如何记录客户端
  • Cookie和Session的区别与联系

    1 前言 http的无状态和无连接 无连接 限制每次连接只处理一个请求 服务端处理完客户端的请求 并收到客户端的响应后 就断开连接 无状态 没有记录用户的登录状态 在淘宝上点击添加购物车 点击收藏 点击我的订单每一步就必须得重新登录 非常麻
  • es封装cookie工具类

    CookieUtil js const CookieUtil get name let cookieName encodeURIComponent name cookieStart document cookie indexOf cooki
  • Servlet的Cookie与Seesion的介绍

    什么是Cookie Cookie是服务器在本地机器上存储的小段文本 它是一个简单的字符串形式的键值对 网络服务器用HTTP头向客户端发送cookie 一般情况下Cookie是由服务端生成的 当然js也能操作cookie 在客户端 浏览器解析
  • JSP之Cookie实现购物车

    1 设置cookie 设置cookie Cookie cookie new Cookie TOM 111 设置有效期 默认秒为单位 cookie setMaxAge 7 24 60 60 添加cookie到客户端 response addC
  • JavaWeb实现记住密码功能(使用Cookie)

    JavaWeb实现记住密码功能 使用Cookie 1 Cookie知识点 cookie介绍 背景 HTTP协议作是 状态协议 状态指每次request请求之前是相互独 的 当前请求 并不会记录它的上 次请求信息 存在这样的问题 既然 状态
  • vue项目嵌入iframe后访问后端报错

    项目场景 最近的项目中 开发的项目中需要使用到另外的一个即时通讯im项目 当时使用ifram标签进行嵌入 跳转失败 问题描述 在使用ifram进行嵌入后 刷新页面 ifram的地址会直接覆盖掉父类地址进行网页跳转 原因分析 在嵌入的src地
  • 本地缓存的几种技术及对比

    在漫长的前端开发过程中 我们常用的几种本地缓存机制 Cookie LocalStorge SessionStorge 1 Cookie的特点 1 cookie的大小受限制 cookie大小被限制在4KB 不能接受像大文件或邮件那样的大数据
  • Servlet学习(七):Cookie

    一 Cookie的基本使用 1 概念 Cookie 客户端会话技术 将数据保存到客户端 以后每次请求都携带Cookie数据进行访问 2 Cookie的工作流程 服务端提供了两个Servlet 分别是ServletA和ServletB 浏览器
  • web页面攻击分为几类?可以提供几种解决方案吗?

    WEB基本攻击大致可以分为三大类 资源枚举 参数操纵 和 其它攻击 资源枚举 遍历站点所有可访问的目录 然后把一些常见的备胎文件名 比如 sql bak index 副本 html 一个个都枚举一下 如果运气好枚举到了就直接下载 参数操纵
  • 好好了解一下Cookie(强烈推荐)

    Cookie是由服务器端生成 发送给User Agent 浏览器会将Cookie的key value保存到某个目录下的文本文件内 下次请求同一网站时就发送该Cookie给服务器 对cookie知识感兴趣的朋友一起学习吧 Cookie的诞生
  • 【Python3爬虫(四)】【urlib.request模块】【ssl认证+cookies(字符串类型转换、session)】

    上一篇 Python3爬虫 三 urlib request模块 cookie Request 开始线 文章目录 一 ssl认证 二 cookies 2 1 字符串类型转换 2 2 session 一 ssl认证 03 requests ss
  • 华中师范大学2018年874

    lt 对数组A的N个整数从小到大进行连续编号 输出各个元素的编号 例如对数组 A 5 3 4 7 3 5 6 则输出为 3 1 2 5 1 3 4 include
  • 与Android对接注册接口的session会话取值为null问题

    与Android对接注册接口的session会话取值为null问题 问题 最近在改造一个springboot项目时在后端写好登录接口后 Android调用登录成功后 调用其他接口时发现获取session为null 经过swagger一番测试
  • javatServlet中的cookie设置

    cookie 服务器将一些信息存储在浏览器 本地 当用户再次打开网页时 会自动填充该信息 当浏览器再次发送请求时 会将存储的信息通过请求头的方式发送给服务器端 不需要用户每次都填充某些内容 cookie中理论上来讲 最大存储4KB内容 co

随机推荐

  • 1.文件包含漏洞

    一 什么是文件包含漏洞 随着网站业务的需求 程序开发人员一般希望代码更灵活 所以将被包含的文件设置为变量 用来进行动态调用 但是正是这种灵活性通过动态变量的方式引入需要包含的文件时 用户对这个变量可控而且服务端又没有做合理的校验或者校验被绕
  • Java:用Java程序打印出所有的 “水仙花数 ”。

    题目 xff1a 利用Java程序打印出所有的 34 水仙花数 34 所谓 34 水仙花数 34 是指一个三位数 xff0c 其各位数字立方和等于该数本身 例如 xff1a 153是一个 34 水仙花数 34 xff0c 因为153 61
  • Ubuntu22 使用devstack一键部署OpenStack

    一 虚拟机准备 主要是因为上次安装稀里糊涂找的教程 xff0c 后来有问题了哈哈 xff0c 这次仔细看了油管教程还有官网教程 xff0c 记录一下后面要是出问题了方便重装哈哈 配置 xff1a 1 进入root账号 sudo passwd
  • 素数筛(埃拉托斯特尼筛和欧拉筛)

    线性筛素数 题目描述 给定一个范围 n xff0c 有 q 个询问 xff0c 每次输出第 k 小的素数 输入格式 第一行包含两个正整数 n q分别表示查询的范围和查询的个数 接下来 q行每行一个正整数 k xff0c 表示查询第 k小的素
  • typescript 错误码大全

    转载于https www easemob com question 6196 1002 错误 Unterminated string literal 未终止的字符串文本 1003 错误 Identifier expected 应为标识符 1
  • 《C++ 新经典》 并发与多线程

    文章目录 本章内容概述一 基本概念1 并发 xff0c 进程 xff0c 线程2 并发的实现2 1 多进程并发2 2 多线程并发 3 C 43 43 11 新标准线程库 二 线程基本使用1 线程创建与启动2 其余线程创建方法 三 线程参数传
  • 基于 Linux 的 Ngina-server 通信架构 C++ 实现

    文章目录 本章内容概述一 项目概述1 项目描述2 项目技术 二 项目详解1 项目框架2 项目流程 三 项目拓展1 简要介绍一下你的项目 xff1f 2 项目程序结构 xff1f 3 线程之间如何同步 xff1f 4 如何处理客户端发送的数据
  • ubuntu 查看占用文件空间大小

    1 查看分区情况 fdisk l 2 查看系统的磁盘空间占用情况 df h df TH 3 查看某个目录的使用空间大小 du sh 需要先进入该目录 或者后面加上路径 du sh 路径 4 查看该目录下 每个文件夹占用的空间大小 查看某目录
  • 七段码(蓝桥杯真题)——python求解

    题目如下 xff1a 小蓝要用七段码数码管来表示一种特殊的文字 上图给出了七段码数码管的一个图示 xff0c 数码管中一共有 7 段可以发光的二极管 xff0c 分别标记为 a b c d e f g 小蓝要选择一部分二极管 xff08 至
  • 【Ubuntu】解决安装显卡驱动后无法进入系统

    像这样 xff08 图片来源于网络 xff0c 侵删 xff09 xff1a 这是显卡驱动安装不正确造成的 解决方法 下载一个easyBCD xff0c 在windows系统下 xff08 双系统 winpe xff09 编辑引导分区 xf
  • 放苹果(递归)

    问题描述 把m个同样的苹果放在n个同样的盘子里 xff0c 允许有的盘子空着不放 xff0c 问有多少种不同的分法 xff1f 注 xff1a 5 1 1和1 1 5是同一种分法 输入 苹果个数m 和盘子个数n 0 lt 61 M xff0
  • 利用冒泡排序,输入10个数字,从小到大排序并输出

    如果有n个数 xff0c 要进行n 1趟比较 xff0c 在第一趟要进行n 1次两两比较 xff0c 在第j趟要进行n j次两两比较 include lt stdio h gt int main int a 10 i j t printf
  • CCF 炉石传说 满分代码(详细注释) + 解题思路 (结构体模拟) 201609-3

    题目描述 解题思路 将每个人用结构体存储生命和攻击力 用一个结构体二维数组存储所有人员信息 p 0 0 存储先手英雄 xff0c p 0 1 7 存储先手的随从 p 1 0 存储先手英雄 xff0c p 1 1 7 存储先手的随从 读入n个
  • 201809-3 CCF 元素选择器 满分题解(超详细注释代码) + 解题思路(超详细)

    问题描述 解题思路 根据题意可以知道在查询中可以分为两种情况 第一种是查询一个标签选择器或者id选择器 xff08 可以称为一级查询 xff09 第二种就是存在大于两级的查询 xff08 可以称为多级查询 xff09 显然第一种查询需要存储
  • 7-1 【模板】KMP字符串匹配 (20 分)

    7 1 模板 KMP字符串匹配 20 分 给出两个字符串text和pattern xff0c 其中pattern为text的子串 xff0c 求出pattern在text中所有出现的位置 为了减少骗分的情况 xff0c 接下来还要输出子串的
  • Anaconda安装教程及环境变量添加

    1 软件下载 1 1 点击Anaconda官网 xff0c 显示如下网页信息 1 2 点击下载 xff08 点击下载会自动识别你的计算机系统 xff0c 直接下载即可 xff09 右上角会提示具体下载信息 xff0c 等待下载完成 xff0
  • Arch的双显卡驱动

    Arch 的双显卡驱动 xorg 注意 xff1a 本文两种方案不可共存 xff01 xff01 optimus manager 方案 I卡驱动 不用装intel的驱动 xff0c 直接用mesa的就行 N卡驱动 编辑 pacman con
  • 现有关系数据库如下: 学生(学号,姓名,性别,专业) 课程(课程号,课程名,学分) 学习(学号,课程号,分数) 分别用关系代数表达式和 SQL 语句实现下列 1—5 小题(注意:每小题都要分别 写出关

    现有关系数据库如下 xff1a 学生 xff08 学号 xff0c 姓名 xff0c 性别 xff0c 专业 xff09 课程 xff08 课程号 xff0c 课程名 xff0c 学分 xff09 学习 xff08 学号 xff0c 课程号
  • LESS全面讲解

    一 基本介绍 1 1 css 预处理器的由来 相信前端开发人员对与CSS xff08 Cascading Style Sheet 级联样式表 xff09 这种 面向命名语言 xff0c 一定非常熟悉 你可能在某个舍友熟睡的深夜 xff0c
  • Cookie

    Cookie session的实现原理中 xff0c 每一个session对象会关联一个sessionid 例如 JSESSIONID 61 xxxxxxxxxxxxxx以上的这个键值对其实就是cookie对象这个cookie保存在浏览器的