【计算机网络之HTTP篇】Cookie与Session的区别

news2024/12/23 22:57:29

目录

原理

缺点

Session

原理

区别


Cookie

cookie是浏览器在本地存储数据的一种机制。

原理

        当浏览器向服务器第一次发送请求时,服务器会向浏览器返回一个Cookie,此时 cookie记录着浏览器访问服务器的用户登录状态。

        后续浏览器再次访问服务器时,发送请求时也携带着cookie一并发送给服务器,服务器识别该cookie就可以判断是不是同一个用户。

缺点

1、单个cookie在浏览器的限制是3K,就是说一个站点在浏览器存放的COOKIE大小不能超过3K。

2、cookie保存在用户本地浏览器,容易被伪造,安全性存在风险

Session

        session表示一个会话,是服务器的一个容器对象。默认情况下服务器会针对每一个浏览器请求,servlet容器都会分配一个session对象,session对象本质上可以认为是ConcurrentHashMap,可以用来存储当前会话产生的一些状态数据,以key-value形式来存储数据,key为sessionId

        HTTP协议是一种无状态协议,也就是说服务器并不知道浏览器端发过来的多次请求是否属于同一个用户,因此服务器端可以使用session来存储浏览器发送多次请求的一个记录。

     服务器端利用session机制结合浏览器的cookie机制就可以使HTTP协议变成一个“有状态”协议。

原理

        当浏览器第一次发送请求时,服务器会创建一个session 和一个cookie(其中cookie包含着sessionId)。session保存在服务器端,该cookie被发送给浏览器端,保存在浏览器本地。

        当浏览器发送多次请求给服务器时,服务器识别浏览器发来的cookie,并根据cookie中的sessionId来查询session对象,从而来判断不同的用户

 

区别

1、cookie  保存在本地浏览器中,session保存在服务器中

2、cookie的安全性有风险,容易被伪造,因此一些登录重要信息保存在session中,其他信息保存在cookie中

3、cookie保存信息长度有限,只有3k大小

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/612970.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[深度学习入门案例1]基于Keras的手写数字图像识别

文章目录 一、工具与环境 二、深度学习环境的搭建 1.安装Anaconda 2.创建虚拟环境 第1步:打开Anaconda的命令窗口,即Anaconda Prompt 第2步:使用命令创建指定版本的python环境(这里以py36命令环境名称举例) 3.切换…

深度解析MethodHandle方法句柄之findspecial方法的原理

网上看过太多关于MethodHandle方法句柄的文章,但是基本上没有人能把其中的findspecial方法讲清楚,特别是findspecial的第四个参数specialCaller, 相信大家都不明白是干嘛用的,网上给出的水文是很多都是说: 执行到specialCaller的父…

kafka二

练一练 需求:写一个生产者,不断的去生产用户行为数据,写入到kafka的一个topic中 生产的数据格式: 造数据 {"guid":1,"eventId":"pageview","timestamp":1637868346789} isNew 1 {&quo…

面了一个32岁的程序员,只因这一点,一眼看穿是培训班出来的,简历都是假的.....

首先,我说一句:培训出来的,优秀学员大有人在,我不希望因为带着培训的标签而无法达到用人单位和候选人的双向匹配,是非常遗憾的事情。 最近,在网上看到这样一个留言,引发了程序员这个圈子不少的…

Kafka安装及架构

kafka的特点 高吞吐量、低延迟:kafka每秒可以处理几十万条消息,它的延迟最低只有几毫秒,每个topic可以分多个partition, 由多个consumer group 对partition进行consume操作。可扩展性:kafka集群支持热扩展持久性、可靠性&#xf…

机智云的离线语音识别模组,让家电变得更加智能和便捷

随着人们对智能化生活的需求不断增加,离线语音模组越来越受到欢迎。它可以为家庭、工作和娱乐提供更加智能和便捷的服务,例如通过语音指令控制家居设备、查询天气信息、播放音乐等。 “小智同学,打开灯光” “调到最亮” “正转一档” 人工智…

Golden Gate (GGX) ZK 预编译: 彻底改变游戏玩法,成本降低千倍

Golden Gate (GGX) 作为一种新型跨链基础设施协议,解决了困扰 Web3.0 Layer1 和 Layer2 的跨链通信和流动性转换难题。 其解决方案主要涉及两个核心: 1) 与协议无关的通信,可以实现主流标准消息的传递,包括 IBC、XCMP 和 LayerZero 等标准。 …

2023 华为 Datacom-HCIE 真题题库 10/12--含解析

单项选择题 1.[试题编号:190585] (单选题)华为SD-WAN解决方案中,当CPE位 于NAT设备后的私网时,特别是两个站点的CPE同时位于NAT设备后的私网时,CPE之 间需要使用NAT穿越技术。华为SD-WAN解决方案中使用以下…

驱动开发--根文件系统

1、单片机开发属于嵌入式开发吗? 广义:单片机开发属于嵌入式开发---(嵌入式微处理器开发) 一般不带mmu(地址映射) 狭义:单片机开发不属于嵌入式 ---(Linux嵌入式开发)一…

python数据分析学习笔记之matplotlib、numpy、pandas

为了学习机器学习,在此先学习以下数据分析的matplotlib,numpy,pandas,主要是为自己的学习做个记录,如有不会的可以随时查阅。希望大家可以一起学习共同进步,我们最终都可以说:功不唐捐&#xff…

刷完这套八股文,15K不能再少了...

前言 大家好,最近有不少小伙伴在后台留言,得准备面试了,又不知道从何下手!为了帮大家节约时间,特意准备了一份面试相关的资料,内容非常的全面,真的可以好好补一补,希望大家在都能拿…

hive中如何计算字符串中表达式

比如 select 1(2-3)(-4.1-3.1)-(4-3)-(-3.34.3)-1 col ,1(2-3)(-4.1-3.1)-(4-3)-(-3.34.3)-1 result \ 现在的需求式 给你一个字符串如上述col 你要算出result。 前提式 只有和-的运算,而且只有嵌套一次 -(4-3)没有 -(-4(3-(31)))嵌套多次。 第一步我们需要将运…

springboot项目的社区/博客系统

课前导读: 你学完一篇,你就多会一项技能,多多少少对你还是有点帮助的不是吗?~~~ 这是博主网页的url:优文共享社区 开发环境:JDK1.8,IDEA2021,MySQL5.7,Windows11 开发技术…

float变量与“零值”的比较

目录 1.问题的引出&#xff1a; 2.解决方案 <1>:自定义精度 <2>:系统提供的精度 3.总结 1.问题的引出&#xff1a; 浮点数在存储的时候&#xff0c;会存在精度的损失。 那么在浮点数进行比较的时候&#xff0c;可不可以使用 来进行比较&#xff0c;测试代码…

PHP——流程控制语句

if…else语句 几乎所有程序设计语言都有if语句&#xff0c;它按照条件选择执行不同的代码片段&#xff0c;PHP的if语句格式为 if&#xff08;条件&#xff09; {if 条件返回为TRUE执行的语句体; } else {if 条件返回FALSE执行的语句体&#xff1b; } 如果条件为真&#xff0c;就…

GitOps 最佳实践(下)| 基于 Amazon EKS 构建 CI/CD 流水线

了解了 GitOps 的概念以及 CI/CD 流水线的架构&#xff0c;完成了构建 GitOps 风格的 CI/CD 流水线的前两部分&#xff0c;恭喜开发者们&#xff01;我们一起在 GitOps 最佳实践的道路上已经实现了大半。接下来&#xff0c;我们一起看看构建 CI/CD 流水线最佳实践的后两个部分&…

I/O复用———常用系统调用select、poll、epoll

上周面了个实习&#xff0c;感觉自己菜的一匹&#xff0c;唉&#xff0c;理论还是没有联系实际啊&#xff0c;继续学吧。 I/O复用使得程序能同时监听多个文件描述符&#xff0c;这对提高程序的性能至关重要。通常&#xff0c;网络程序在下列情况下需要使用I/O复用技术&#xf…

01_JVM与Java体系结构

目录 三、Java及JVM简介1、Java&#xff1a;跨平台的语言2、跨语言的平台3、多语言混合编程 四、Java发展过程中的重大事件五、虚拟机和Java虚拟机1、Java虚拟机2、Jvm的位置 六、Jvm的整体结构七、Java代码的执行流程八、Jvm的架构模型九、Jvm的生命周期十、JVM的发展历程 三、…

Jenkins重启报错解决

在Jenkins上安装了一些插件后&#xff0c;需要重启Jenkins&#xff0c;由于忘了当初是怎么重启的&#xff0c;所以就问了GPT&#xff0c;下面是它的回答&#xff1a; 我想着&#xff0c;jenkins运行的好好的&#xff0c;还看什么状态&#xff0c;直接restart&#xff0c;然后……

R语言 tidyverse系列学习笔记(系列3)具体任务的处理(成绩单为例)

score成绩单 install.packages("dplyr") library(dplyr)install.packages("tibble") library(tibble)install.packages("stringr") library(stringr)score tibble(IDc("1222-1","2001-0","3321-1","4898-0…