当前位置: 首页 > news >正文

CookieSession

目录

什么是会话

一.Cookie

1.Cookie介绍

2.Cookie的作用 

3.Cookie的基本使用

4.Cookie生命周期

5.Cookie有效路径

6.注意事项

二.Session

1.Session基本原理

 2 Session的作用

 3.Session的基本使用

4.Session底层实现机制

 5.Session生命周期


什么是会话

Cookie和Session一种Web开发会话技术,会话是指用户在与网站或应用程序进行交互时的一系列连续操作。在一个会话中,用户可能会进行多次请求和响应,包括登录、浏览页面、提交表单、添加商品到购物车等操作。

会话的主要特点包括:

  1. 持续性:会话是一个连续的过程,用户在一段时间内与网站或应用程序进行交互,直到会话结束。

  2. 交互性:用户在会话中可以进行多种操作,与网站或应用程序进行多次请求和响应。

  3. 一致性:在同一个会话中,用户的操作和状态应该是一致的,例如用户登录后,在同一个会话中可以一直保持登录状态。

会话管理通常涉及到用户认证、状态保持、数据传输等方面,而会话过程中不可避免各自产生一些数据,服务器需要为用户保存这些数据.

一.Cookie

访问某些网站时,会提示你上次登录网站的时间,而且不同用户提示的登录时间与各自对应,访问某些购物网站的时候,能看到曾经浏览过的商品,在登录某些网站的时候,还可以选择记住账号密码,避免重复输入.这些功能技术Cookie技术实现的

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

1.Cookie介绍

1.Cookie时服务器在客户端保存用户的信息,比如登录名,历史记录等,都可以通过Cookie方式保存.

2.Cookie信息就像是小甜饼一样,数据量并不大,服务器在需要的时候可以从客户端(浏览器)读取

3.Cookie数据是保存在客户端的

2.Cookie的作用 

  1. 记住用户的登录状态:网站可以使用Cookie来存储用户的登录信息,使用户在访问网站时无需重复输入用户名和密码。

  2. 个性化用户体验:网站可以根据用户的Cookie信息,提供个性化的内容和推荐,例如根据用户的浏览历史推荐相关商品。

  3. 购物车功能:网上购物网站可以使用Cookie来存储用户的购物车信息,使用户可以随时查看和修改购物车中的商品。

  4. 记住用户偏好:网站可以使用Cookie来存储用户的偏好设置,例如语言偏好、主题偏好等,以提供更好的用户体验。

  5. 网站流量分析:网站可以使用Cookie来跟踪用户的访问行为,分析网站流量和用户行为,以优化网站内容和布局。

3.Cookie的基本使用

1.Cookie像一张表(K-V),存储键值对,数据类型都是String 

2.创建一个Cookie

Cookie c =new Cookie(String name,String val);

c.setMaxAge();//该cookie保存时间

3.将一个Cookie添加到客户端

response.addCookie(c);//通过HTTP协议的相应将cookie带回客户端

4.在服务端读取cookie数据

resquest.getCookies();

4.Cookie生命周期

1.Cookie的生命周期指的是如何管理Cookie什么时候被销毁

2.setMaxAge(n) (>0 表示n秒后删除,<0 表示随浏览器关闭删除,=0 表示立即删除) 

5.Cookie有效路径

Cookie 的 path 属性可以有效的过滤哪些 Cookie 可以发送给服务器。哪些不发。 path 属性是通过请求的地址来进行有效的过滤

cookie1.setPath = /工程路径

cookie2.setPath = /工程路径/aaa

请求地址: http://ip:端口/工程路径/资源

cookie1 会发给服务器 cookie2 不会发给服务器

请求地址: http://ip:端口/工程路径/aaa/资源

cookie1 会发给服务器 cookie2 会发给服务器

6.注意事项

1. 一个 Cookie 只能标识一种信息,它至少含有一个标识该信息的名称(NAME)和设置值 (VALUE)。

2. 一个 WEB 站点可以给一个浏览器发送多个 Cookie,一个浏览器也可以存储多个 WEB 站 点提供的 Cookie。

3. cookie 的总数量没有限制,但是每个域名的 COOKIE 数量和每个 COOKIE 的大小是有限 制的 (不同的浏览器限制不同, 知道即可) , Cookie 不适合存放数据量大的信息。

4. 注意,删除 cookie 时,path 必须一致,否则不会删除

二.Session

不同的用户登录网站后,不管该用户浏览该网站的哪个页面,都可显示登录人的名字, 还可以随时去查看自己的购物车中的商品, 是如何实现的?  也就是说,一个用户在浏览网站不同页面时,服务器是如何知道是张三在浏览这个页面, 还是李四在浏览这个页面?

Session 是服务器端技术,服务器在运行时为每一个用户的浏览器创建一个其独享的 session 对象/集合,由于 session 为各个用户浏览器独享,所以用户在访问服务器的不同页面时,可以从各自 的 session 中读取/添加数据, 从而完成相应任务.

1.Session基本原理

1. 当用户打开浏览器,访问某个网站, 操作 session 时,服务器就会在内存(在服务端)为该浏览器分配一个 session 对象,该 session 对象被这个浏览器独占, 如图

2. 这个 session 对象也可看做是一个容器/集合,session 对象默认存在时间为 30min(这是tomcat/conf/web.xml),也可修改

 2 Session的作用

1. 在网站上保持用户登录状态:当用户登录到一个网站时,网站会创建一个session来存储用户的登录状态,这样用户在浏览网站的不同页面时不需要重复登录。

2. 存储用户购物车信息:在一个电子商务网站上,用户可以将商品加入购物车,这些商品信息可以存储在session中,以便用户在结账时查看和编辑购物车中的商品。

3. 跨页面传递数据:在一个多页面的网站中,session可以用来在不同页面之间传递数据,比如用户在一个页面中填写了表单数据,这些数据可以存储在session中,然后在另一个页面中使用。

4. 实现用户个性化设置:网站可以根据用户的偏好和设置存储在session中的数据来提供个性化的服务,比如用户选择了偏好的语言或主题颜色,这些设置可以存储在session中。

5. 记录用户活动:网站可以使用session来记录用户的活动,比如用户在网站上浏览了哪些页面、点击了哪些链接等,这些信息可以帮助网站优化用户体验。

 3.Session的基本使用

1.session与cookie类似存储在一种表容器中,K(String) V(Object)

2.创建和获取session

HttpSession hs=request.getSession();//第 1 次调用是创建 Session 会话, 之后调用是获取创建好的 Session 对象

2.添加session属性

hs.setAttribute(String name,Object val);

3.获取属性

Object obj=hs.getAttribute(String name);

4.删除属性

hs.removeAttribute(String name);

5.判断是否为新session

isNew();

6. 每个 Session 都有 1 个唯一标识 Id 值。通过 getId() 得到 Session 的会话 id 值

4.Session底层实现机制

 

 5.Session生命周期

session 是否过期,是由服务器来维护和管理

 1. public void setMaxInactiveInterval(int interval) 设置 Session 的超时时间(以秒为单位), 超过指定的时长,Session 就会被销毁

2. 值为正数的时候,设定 Session 的超时时长。

3. 负数表示永不超时

4. public int getMaxInactiveInterval()获取 Session 的超时时间

5. public void invalidate() 让当前 Session 会话立即无效

6. 如果没有调用 setMaxInactiveInterval() 来指定 Session 的生命时长,Tomcat 会以 Session 默认时长为准,Session 默认的超时为 30 分钟, 可以在 tomcat 的 web.xml 设置

7. Session 的生命周期指的是 :客户端/浏览器两次请求最大间隔时长,而不是累积时长。 即当客户端访问了自己的 session,session 的生命周期将从 0 开始重新计算。(老韩解读: 指 的是同一个会话两次请求之间的间隔时间)

8. 底层: Tomcat 用一个线程来轮询会话状态,如果某个会话的空闲时间超过设定的最大值, 则将该会话销毁

相关文章:

CookieSession

目录 什么是会话 一.Cookie 1.Cookie介绍 2.Cookie的作用 3.Cookie的基本使用 4.Cookie生命周期 5.Cookie有效路径 6.注意事项 二.Session 1.Session基本原理 2 Session的作用 3.Session的基本使用 4.Session底层实现机制 5.Session生命周期 什么是会话 Cookie和S…...

Nginx服务 重写功能与反向代理

六、重写功能 rewrite Nginx服务器利用 ngx_http_rewrite_module 模块解析和处理rewrite请求&#xff0c;此功能依靠 PCRE(perl compatible regular expression)&#xff0c;因此编译之前要安装PCRE库&#xff0c;rewrite是nginx服务器的重要功能之一&#xff0c;用于实现URL的…...

Midjourney教程(完整版)-看这篇就够了

Midjourney使用指南 - 订阅计划费用比较 Midjourney 具有三个订阅版本。按月或全年支付可享受 20% 的折扣。每个订阅计划都包括访问 Midjourney 图库、官方 Discord、一般商业使用条款等。 如何订阅 使用该/subscribe命令生成指向订阅页面的个人链接。 或者&#xff0c;转到Mi…...

服务器上部署GPU版的milvus向量数据库

1、安装docker compose 我们可以从 Github 上下载它的二进制包来使用&#xff0c;最新发行的版本地址&#xff1a; https://github.com/docker/compose/releases sudo curl -L "https://github.com/docker/compose/releases/download/v2.6.0/docker-compose-$(uname -s)…...

【配置】Docker安装可道云网盘

环境 一台云服务器&#xff0c;centos8&#xff0c;必须安装docker Docker安装 1、卸载旧版 yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine2、需要的安装包 yum ins…...

复盘中得道,技术人的自由之路

从今天开始&#xff0c;后面会推出一个系列&#xff0c;也就是「复盘中得道&#xff0c;技术人的自由之路」。 如果再给我一次机会&#xff0c;我会这样规划我的成长路线&#xff0c;实现职业自由、财富自由、身心自由。 如果你站在童年的位置瞻望未来&#xff0c;你会说你前…...

Nginx配置大全【六大使用场景、七大负载均衡策略、四大负载健康检查】

目录 基础配置信息应用场景一&#xff1a;配置web服务器应用场景二&#xff1a;反向代理服务器应用场景三&#xff1a;URL重定向应用场景四&#xff1a;防盗链应用场景五&#xff1a;根据设备类型重定向/代理/访问 不同域名/资源应用场景六&#xff1a;&#xff01;负载均衡服务…...

GDPU Java 天码行空8

文章目录 &#xff08;一&#xff09;实验目的&#xff08;二&#xff09;实验内容和步骤1、LinkedList 实现队列&#x1f496; MyQueueDemo.java&#x1f496; 运行结果&#xff1a; 2、集合的嵌套遍历&#x1f496; StudentDemo.java&#x1f496; 运行结果&#xff1a; 3、类…...

《前端面试题》- JS基础 - 伪数组

第一次听说伪数组这个概念&#xff0c;听到的时候还以为是说CSS的伪类呢&#xff0c;网上一查&#xff0c;这东西原来还是个很常见的家伙。 何为伪数组 伪数组有两个特点&#xff1a; 具有length属性&#xff0c;其他属性&#xff08;索引&#xff09;为非负整数但是却不具备…...

TypeScript 基础语法

文章目录 1. 类型注解2. 接口&#xff08;Interfaces&#xff09;3. 类&#xff08;Classes&#xff09;4. 泛型&#xff08;Generics&#xff09;5. 枚举&#xff08;Enums&#xff09;6. 高级类型7. 模块8. 装饰器&#xff08;Decorators&#xff09;9. 映射类型&#xff08;…...

服务器数据恢复—V7000存储raid5数据恢复案例

服务器数据恢复环境&#xff1a; P740AIXSybaseV7000存储阵列柜&#xff0c;阵列柜上有12块SAS机械硬盘&#xff08;包括1块热备盘&#xff09;。 服务器故障&#xff1a; 管理员在日常巡检过程中发现阵列柜中有一块磁盘发生故障&#xff0c;于是更换磁盘并同步数据&#xff0…...

扫雷 【搜索,哈希】

9.扫雷 - 蓝桥云课 (lanqiao.cn) #include<bits/stdc.h> using namespace std; #define int long long const int N1e5100; int n,m,res0; struct pt{int x,y,r; }; typedef pair<int,int> pii; map <pii,int> a;//炸雷的map,键是x,y,值是r map <pii,int&…...

如何在CentOS安装Firefox并结合内网穿透工具实现公网访问本地火狐浏览器

文章目录 1. 部署Firefox2. 本地访问Firefox3. Linux安装Cpolar4. 配置Firefox公网地址5. 远程访问Firefox6. 固定Firefox公网地址7. 固定地址访问Firefox Firefox是一款免费开源的网页浏览器&#xff0c;由Mozilla基金会开发和维护。它是第一个成功挑战微软Internet Explorer浏…...

LlamaIndex 组件 - Loading

文章目录 一、概览加载Transformations将所有内容放在一起抽象 二、文档/节点概览1、概念2、使用模式文件节点 三、定义和定制文档1、定义文档2、自定义文档2.1 元数据2.2 自定义id2.3 高级 - 元数据定制1&#xff09;自定义LLM元数据文本2&#xff09;自定义嵌入元数据文本3&a…...

再见了 wordpress !又一款简洁实用的个人博客,简单好使【文末领福利】

最近想搭一个简单的博客&#xff0c;不想要 wordpress 这类那么臃肿的系统&#xff0c;于是开源站找了下&#xff0c;看看有没有搭建简单&#xff0c;又好使的博客系统。于是还真找到了一个项目 -- VanBlog 简介 VanBlog 是一款简洁优雅的个人博客系统&#xff0c;它拥有很好性…...

【经典算法】LeetCode 136:只出现一次的数字(Java/C/Python3实现含注释说明,Easy)

个人主页&#xff1a; 进朱者赤 阿里非典型程序员一枚 &#xff0c;记录平平无奇程序员在大厂的打怪升级之路。 一起学习Java、大数据、数据结构算法&#xff08;公众号同名&#xff09; 目录 题目描述思路及实现方式一&#xff1a;使用异或运算&#xff08;推荐&#xff09;思…...

ST-LINK Utility 4.6.0 下载安装及使用方法介绍

一、介绍 STM32 ST-LINK Utility是针对STM32全系芯片进行编程&#xff08;读、写、擦除、选项字&#xff09;的一款工具。 STM32 ST-LINK Utility软件主要的功能就是量产&#xff08;批量下载代码的工具&#xff09;。它也是比较实用的一个工具&#xff0c;当我们需要查看芯片F…...

【教程】cocos2dx资源加密混淆方案详解

1,加密,采用blowfish或其他 2,自定是32个字符的混淆code 3,对文件做blowfish加密,入口文件加密前将混淆code按约定格式(自定义的文件头或文件尾部)写入到文件 4,遍历资源目录,对每个文件做md5混淆,混淆原始串“相对路径”“文件名”混淆code, 文件改名并且移动到资源目录根…...

【Altium Designer 20 笔记】PCB板框

Altium Designer中设置PCB板框 PCB板框位于Mechanical1层 点击放置中的线条或使用其他绘图工具来绘制板框, 可以绘制矩形、圆形或其他形状的板框,确保板框是闭合的 注意&#xff1a;在绘制板框时&#xff0c;确保线条的起点和终点相连&#xff0c;形成一个闭合的图形。 快捷键D…...

el-date-picker限制只能选择当前时间前/后的时间(包含日期、时、分)

限制只能选择当前时间前/后的时间&#xff08;包含日期、时、分&#xff09; 首先需要给添加一个属性picker-options属性,然后在data中定义这个pickerOptions属性。 <el-date-pickerv-model"saveForm.startTime":picker-options"pickerOptions"format…...

MySQL 5.7 重置root用户密码

MySQL 5.7 重置root用户密码 如果你忘记了 MySQL 5.7 的 root 用户密码&#xff0c;可以按照以下步骤来重置密码&#xff1a; 1、停止 MySQL 服务。 # systemctl stop mysql.service 2、进入MySQL服务的安全启动模式 # mysqld_safe --skip-grant-tables &3、连接到 MyS…...

分布式数据库Polardb-X架构及特点

PolarDB-X架构 计算节点&#xff08;Compute Node&#xff0c;CN&#xff09;是系统的入口&#xff0c;采用无状态设计的sql引擎提供分布式路由和计算&#xff0c;包括SQL解析器、优化器、执行器等模块。负责数据分布式路由、计算及动态调度&#xff0c;负责分布式事务2PC协调…...

【spring】@Resource注解学习

Resource介绍 在Spring框架中&#xff0c;Resource 注解是一个JSR-250标准注解&#xff0c;用于自动装配&#xff08;autowiring&#xff09;Spring容器中的bean。Resource 注解可以用于字段、方法和方法参数上&#xff0c;以声明依赖注入。 Resource源码 Target({TYPE, FIE…...

【leetcode面试经典150题】43. 字母异位词分组(C++)

【leetcode面试经典150题】专栏系列将为准备暑期实习生以及秋招的同学们提高在面试时的经典面试算法题的思路和想法。本专栏将以一题多解和精简算法思路为主&#xff0c;题解使用C语言。&#xff08;若有使用其他语言的同学也可了解题解思路&#xff0c;本质上语法内容一致&…...

计算机网络 Cisco路由器基本配置

一、实验内容 1、按照下表配置好PC机IP地址和路由器端口IP地址 2、配置好路由器特权密文密码“abcd&#xff0b;两位班内序号”和远程登录密码“star” 3、验证测试 a.验证各个接口的IP地址是否正确配置和开启 b.PC1 和 PC2 互ping c.验证PC1通过远程登陆到路由器上&#…...

Windows Edge 兼容性问题修复:提升用户体验的关键步骤

&#x1f31f; 前言 欢迎来到我的技术小宇宙&#xff01;&#x1f30c; 这里不仅是我记录技术点滴的后花园&#xff0c;也是我分享学习心得和项目经验的乐园。&#x1f4da; 无论你是技术小白还是资深大牛&#xff0c;这里总有一些内容能触动你的好奇心。&#x1f50d; &#x…...

Vue 3 性能飞跃:解析其性能提升的关键方面

文章目录 响应式系统优化静态树提升diff算法优化Tree Shaking优化Composition API事件缓存机制 响应式系统优化 Vue双向绑定原理 Proxy 相较于 Object.defineProperty 在性能上的优势主要体现在以下几个方面&#xff1a; 属性检测的全面覆盖&#xff1a; Object.defineProper…...

MySQL 存储过程中,参数的传递主要通过以下两种方式:IN、OUT 和 INOUT

在 MySQL 存储过程中&#xff0c;参数的传递主要通过以下两种方式&#xff1a;IN、OUT 和 INOUT。这些参数类型决定了参数在存储过程中的使用方式以及存储过程执行完毕后参数值的变化。 1. IN 参数 IN 参数是输入参数&#xff0c;它的值在存储过程被调用时传入&#xff0c;并…...

修改当前Git仓库的地址、用户名、密码

1.修改仓库地址 git remote set-url origin 新的仓库地址2.修改用户名和密码 2.1 修改用户名和密码1 分两步操作&#xff1a; 修改用户名&#xff1a; git config --global user.name "Your New Name"修改密码&#xff1a; 如果是 HTTPS 访问方式&#xff0c;并…...

尚鼎环境科技诚邀您参观2024第13届生物发酵展

参展企业介绍 尚鼎环境科技(江苏)有限公司设立于2010年&#xff0c;公司坐落于江南平原南端素有『苏北门户』之称的古城扬州&#xff0c;办公室位在江苏省扬州市邗江区高新技术创业服务中心。 尚鼎环境科技长年致力于食品精炼/环境工程领域全程技术服务&#xff0c;工程实绩遍…...

广西建设厅官网站/河南省郑州市金水区

随时随地阅读更多技术实战干货&#xff0c;获取项目源码、学习资料&#xff0c;请关注源代码社区公众号(ydmsq666) 一、概述 该接口位于java.util.concurrent.locks 声明&#xff1a;public interface Condition Condition 将 Object 监视器方法&#xff08;wait、notify 和…...

扬中做网站/怎么做自媒体

相信大家开始玩gitlabjenkins的时候对着两个工具有肯定有一定了解&#xff0c;我就不做详细解释了&#xff0c;下面就跟大家简单的说下gitlab&#xff0c;jenkins之间工作关系&#xff1a; GitLab是一个代码仓库&#xff0c;用来管理代码。Jenkins是一个自动化服务器&#xff0…...

网站建设知名公司排名/seo工资水平

2019独角兽企业重金招聘Python工程师标准>>> 0. 系统---首选项---网络链接---auto eth0---ipv6---自动 1. 下载uTorrent3.0 http://www.utorrent.com/downloads/linux 2 安装&#xff1a;把下载来的压缩包解压&#xff0c;然后运行里面的 utserver &#xff0c; 打开…...

找人做网站需要注意/廊坊关键词排名优化

在C/MFC中利用CMarkup类对XML进行操作 标签&#xff1a; 实用编程技术 一、什么是XML1 XML 是可扩展标记语言&#xff08;Extensible Markup Language&#xff09;的缩写&#xff0c;其中的 标记&#xff08;markup&#xff09;是关键部分。标记语言从早期的私有公司和政府制…...

网站上的幻灯片如何做/seo优化怎么做

一. BluetoothClass简介 1. 继承关系 public final class BluetoothClass extends Object implements Parcelable 该类是final类, 不能被继承, 没有子类; 该类继承了Object类, 实现了Parcelable接口; Parcelable接口 : Java中的序列化方法 : 在Java中序列化有两种方法, 一种是…...

教育主管部门建设的专题资源网站/百度搜索推广怎么做

Spring中事务控制的一组API事务控制Spring中事务控制&#xff08; Spring中事务控制的API&#xff09;PlateformTransactionManager接口TransationDefinition :事务的定义信息对象TransationStatus:此接口提供的是事务具体的运行状态事务控制 JavaEE 体系进行分层开发&#xf…...