速懂cookie,session,token
文章目录
- cookie
- session
- token
- 区别
cookie
是浏览器提供的一种能力,可以在每次发起请求前,带上cookie里面的内容(一些key,value值)
分类:
- 会话级cookie:默认情况,就是会话级cookie,有效时长只有在窗口还打开的时候
- 持久cookie:在设置一些字段控制的时候,就可以设置cookie的持续时长(比如setMaxAge)
注意:cookie可以是web服务器添加的,原理就是在我们进行某一个请求的时候,如果这个请求携带了一些控制cookie的字段,那么就会使得我们浏览器设置了cookie
并且大小一般只有4kb,并且每个站点最多20条
session
是基于cookie实现的一种解决http无状态的方式
-
原理: 在我们第一次登录请求时,服务端会开辟一个空间用于存储这次登录的信息
session,这个session可以通过sessionID来找到,所以服务器会把sessionID返回给浏览器【自动存储到cookie里面】,然后我们发起下一次请求的时候就自动(通过cookie)上这个sessionID,那么服务器就能识别我们的登录状态了 -
缺点:由于
session是存储在服务器,所以当我们服务器采用了负载均衡的时候,如果我们在A服务器有我们session,当A服务器压力过大,我们的请求被分配到了B服务器,那么B服务器算识别不到我们的sessionID的,因为只有A有我们的session
token
也是一种解决http无状态的方式,是存储了我们用户状态等信息的字符串
在我们第一次发起登录请求的时候,服务器返回给我们一个token字符串,然后这个token字符串由浏览器存储
- 在我们后续发起请求的时候,我们可以把token带在
cookie或者请求体里面 - 服务器通过解析我们的
token,识别我们的状态和信息
优点: 存储在客户端,所以服务器空间压力变小(解析时间压力变大??),由于可以不同存储在cookie,对移动端更友好(cookie是浏览器的机制)
区别
- cookie是一种浏览器的机制,session和token是解决http无状态(身份验证)的方式
- session存储在cookie中,token可以存储在cookie和响应头里面
- session存储在服务器,token存储在客户端
相关文章:
速懂cookie,session,token
文章目录cookiesessiontoken区别cookie 是浏览器提供的一种能力,可以在每次发起请求前,带上cookie里面的内容(一些key,value值) 分类: 会话级cookie:默认情况,就是会话级cookie&…...
javaEE初阶 — HTML 中的常见标签
文章目录注释标签标题标签:h1 h6段落标签:p换行标签:br格式化标签图片标签:img1. img 的 alt 属性2. img 的 title 属性3. width 与 heigth 属性用来描述图的尺寸超链接标签:a表格标签列表标签表单标签1. from 标签2. …...
MySQL慢查询
2 慢查询 2.1 慢查询介绍 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。具体指运行时间超过long_query_time值的SQL&…...
tensorflow【import transformers 报错】
目录 一、安装 安装好了tensorflow,但是import时候报错: import transformers 报错 一、安装 (1)创建环境: conda create -n [name] python3.3-3.7 (2)激活环境: conda activate [name] …...
JMU软件20 计算机网络复习
文章目录题型单位换算第一章协议与划分层次、网络协议的三个组成要素,分层的思想等协议网络协议的三个组成要素分层的思想⭐计算机网络体系结构OSI 的七层协议TCP/IP 的四层协议五层协议发送时延、传播时延、总时延、往返时间RTT计算第二章 物理层传输媒体导向性传输…...
Java基础之《dubbo(1)—dubbo基础入门》
一、为什么要使用dubbo 1、dubbo是什么 dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。 2、dubbo有何特点 (1)远程通讯:提供透明化的远程方法调用,提供…...
HTML注入的一种攻击思路(超链接替换为点击验证,现在常见)
目录 背景 利用方法 举一反三 场景1:截获 TOKEN 场景2:截获后台信息 总结...
Redis-6集群
文章目录前言Redis集群原理搭建Redis集群集群拓展后记前言 前两期介绍和搭建了Redis的主从复制架构和哨兵模式,虽然哨兵模式能够实现自动故障转移主备切换,一定程度上提高了系统的容错性 但这两种架构模式都不能解决单节点的并发压力和物理上线的问题&…...
Spring Cloud学习笔记:基础知识
这是本人学习的总结,主要学习资料如下 马士兵教育 目录1、Spring Cloud 简介2、Eureka3、建立Spring Cloud项目3.1、启动Server3.1.1、dependency3.1.2、配置文件3.1.3、Server端启动代码3.2、启动Client3.2.1、dependency3.2.2、配置文件3.3.3、Client端启动代码3…...
农产品销售系统/商城,可运行
文章目录项目介绍一、项目功能介绍1、用户模块主要功能包括:2、商家模块主要功能包括:3、管理员模块主要功能包括:二、部分页面展示1、用户模块部分功能页面展示2、商家模块部分功能页面展示3、管理员模块部分功能页面展示三、部分源码四、底…...
【Java开发】JUC进阶 05:函数式接口、ForkJoin
1 四大函数式接口函数式接口:只有一个抽象方法的接口,只要是函数式接口,就可以用lambda表达式简化例如Runnable:FunctionalInterface public interface Runnable {public abstract void run(); }框架底层大量应用函数式接口&#…...
Nginx支持quic协议
第一种方式:Nginx官方nginx-quic搭建 通过部署Nginx官方的QUIC分支来实现的浏览器和nginx-quic服务器粗略的HTTP3通信。 1、下载BoringSSL BoringSSL 是由谷歌开发,从 OpenSSL 中分离的一个分支。BoringSSL 是 Chrome/Chromium、Android(但它不是 NDK 的…...
笔记 - Java 内存结构与模型
-- Java里内存结构与内存模型是两种概念 一、Java内存结构: HeapMemory - 堆内存Java Stacks - 栈内存 (运行时)Method Area - 方法区Native Method Stack - 本地方法栈 真实和系统打交道的地方Jit Compiler - 将java运行指令编译成机器指令G…...
C#基础教程12 数组
文章目录 C# 数组(Array)C# 中的数组声明数组初始化数组赋值给数组访问数组元素C# 数组细节C# 数组(Array) 数组是一个存储相同类型元素的固定大小的顺序集合。数组是用来存储数据的集合,通常认为数组是一个同一类型变量的集合。 声明数组变量并不是声明 number0、number1…...
Android中级——屏幕和绘图
屏幕和绘图屏幕系统屏幕密度独立像素密度dp单位转换XML绘图(需放在Drawable)BitmapShapeLayerSelector绘图技巧CanvasLayerPorterDuffXfermodeShaderPathEffectSurfaceView屏幕 屏幕大小:指屏幕对角线长度,单位为寸分辨率&#x…...
Linux - 第6节 - 动态库和静态库
1.静态库与动态库概念 静态库(.a):程序在编译链接的时候把库的代码拷贝到可执行文件中。程序运行的时候将不再需要静态库。动态库(.so):程序在运行的时候才去链接动态库的代码,多个程序共享使用…...
【Java学习笔记】12.Character 类及String 类
前言 本章介绍Java的Character 类和String 类。 Java Character 类 Character 类用于对单个字符进行操作。 Character 类在对象中包装一个基本类型 char 的值 实例 char ch a;// Unicode 字符表示形式 char uniChar \u039A; // 字符数组 char[] charArray { a, b, c, d…...
【C++修炼之路】26.C++11(语法糖)
每一个不曾起舞的日子都是对生命的辜负 C11C11(语法糖)本节目标一.C11简介二.统一的列表初始化2.1 {}初始化2.2 std::initializer_list三.声明3.1 auto3.2 decltype3.3 nullptr四.总结C11(语法糖) 本节目标 C11简介 列表初始化 变量类型推导 一.C11简介 在2003年C标准委员…...
KD610精密油介损体积电阻率测试仪
一、概述 KD610精密油介损体积电阻率测试仪是用于绝缘油等液体绝缘介质的介质损耗角及体积电阻率的高精密仪器。 二、产品特点 1.仪器内部采用数字技术,具备多种模式测式。 2.智能自动化测量。 3.配备了大屏幕(2401…...
快速了解原码、反码、补码和位运算
我们知道计算机使用的是二进制,我们⽤⼀个字节,也就是8个bit 来表示⼆进制数。 原码 十进制 原码20000 0010-21000 0010 原码其实是最容易理解的,只不过需要利⽤⼆进制中的第⼀位来表示符号位,0表示正数,1表示…...
OpenLayers 可视化之热力图
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...
【项目实战】通过多模态+LangGraph实现PPT生成助手
PPT自动生成系统 基于LangGraph的PPT自动生成系统,可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析:自动解析Markdown文档结构PPT模板分析:分析PPT模板的布局和风格智能布局决策:匹配内容与合适的PPT布局自动…...
linux 错误码总结
1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...
Robots.txt 文件
什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...
爬虫基础学习day2
# 爬虫设计领域 工商:企查查、天眼查短视频:抖音、快手、西瓜 ---> 飞瓜电商:京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空:抓取所有航空公司价格 ---> 去哪儿自媒体:采集自媒体数据进…...
Go 并发编程基础:通道(Channel)的使用
在 Go 中,Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式,用于在多个 Goroutine 之间传递数据,从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...
MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)
macos brew国内镜像加速方法 brew install 加速formula.jws.json下载慢加速 🍺 最新版brew安装慢到怀疑人生?别怕,教你轻松起飞! 最近Homebrew更新至最新版,每次执行 brew 命令时都会自动从官方地址 https://formulae.…...
Bean 作用域有哪些?如何答出技术深度?
导语: Spring 面试绕不开 Bean 的作用域问题,这是面试官考察候选人对 Spring 框架理解深度的常见方式。本文将围绕“Spring 中的 Bean 作用域”展开,结合典型面试题及实战场景,帮你厘清重点,打破模板式回答,…...
