Http协议之 Cookie 和 Session

操作系统期末大题类型题解 额,OS主要这回考程序分析题,PV操作、生产者消费者啊,哲学家进餐问题,死锁问题啊,如何避免死锁,经典银行家算法,页面置换算法啥的,磁盘调度......总计还有很多,就不一一说了 PV操作 谈到PV操作,首先要了解什么是信号量,其实就是用来解决互斥与同步问题的,分为原语wait(S)和signal(S),也就是我们常说的PV操作,在这里给出王道上的概念 wait(S){ while(S>0) S=S-1; } signal(S){ S=S+1; } 记录型信号量 阅读详情

cookie && session

什么是cookie ?

相信我们在登陆一些网站的时候,比如说哔哩哔哩,csdn等网站的时候。我们登陆了一次过后,之后的一段时间内就不需要再次登录了,而是进入这些网站之后自动就给登陆了。这又是什么原理呢???

很简单,自然是我们的浏览器保存了cookie信息,而之后每次向该网站发送http请求时,就会自动把cookie信息发送给服务器。因为http是无状态的!!所以对方不知道你现在是否已经登陆!

cookie运作原理

首先,我们最初肯定是要登陆的,那么登陆信息就要提交给服务器。假设我们向服务提交了一个username和password

在这里插入图片描述

之后服务器那边对你的username和password做检测。如果登陆成功则会给你设置cookie,可以通过设置报头的方式来让你的浏览器知道服务器设置了cookie。

所以这时服务器在返回响应时添加了一则报头 :Set-Cookie: username=123456&password=abcdefg。当你的浏览器收到响应时,解析到了这个报头,就会在自己的浏览器内部设置cookie。我们也可以在后面加上Max-Age=秒数 来设置你的cookie时长。

在这里插入图片描述

而在之后的访问中,浏览器会自动把cookie发送给服务端,那么服务端就可以根据的cookie知道你当前登陆的用户。

在这里插入图片描述

当然,最终cookie被保存在你的本地浏览器,这个我们是可以查看的。

比如我登陆了csdn,我们就可以在旁边的小锁上看到Cookie。

在这里插入图片描述

而我们此时要是把cookie删除,那么就会发现我们会自动退出。 这个大家可以自己试一下。

缺陷

当然,上面这种方法有很严重的缺陷!!如果此时有一个黑客,向我们的电脑植入了木马。获取到了我们浏览器的cookie,那么他在把cookie导进他的浏览器。那么此时这个黑客是不是就可以冒充你进行登陆了?没错!但是你cookie还保存着你的账号密码,是不是意味着,你的账号密码泄漏了?没错!所以这种方法是有缺陷的!而session可以避免你的账号密码泄漏,却不能避免黑客在盗取了你的session之后依旧可以冒充你登陆。

session

session就比之前提到的方法安全一点。上面那种方法是直接把用户名和密码返回给浏览器设置cookie,而session则不是这样。session返回一个session id 给浏览器保存,随后在服务器本地建立与session id 一 一对应的文件。session销毁则文件销毁,session在则文件在。

假设在第一次登陆时,我们给服务器发送了我们的账号和密码。

在这里插入图片描述

随后服务器这把做校验,发现你的账号密码没有问题,则在服务器本地创建一个session文件。这个文件与session id一 一对应,甚至可能文件名就是session id。

在这里插入图片描述

之后再把session id 返回给你的浏览器客户端。而你的浏览器此时的cookie就不是保存你的账号和密码了,而是一个session id,session id在服务端确保只有一份,对应一个session文件。

在这里插入图片描述

再此之后你每次访问该网站时,都会向服务器发送你保存的session id。而服务器接收到session id后去查看是否存在对应的session文件。如果不存在说明你的登陆已经失效,这时可以要求你重新登陆。如果存在则可以进行用户的合法操作。

所以,有了session后,服务器想让你重新登陆就只需要删除你浏览器保存的session id 对应服务器中的session文件即可!

但是!很遗憾的是,session依旧无法防止黑客冒充你登陆。当你电脑中木马时,黑客盗用了你的session,依旧可以冒充你登陆。所以服务端也会有各种保护措施,例如:短信验证,ip判断等… 。如果没有的话,那么你还是会被黑客冒充登陆,所幸的是这回你的账号密码不会泄漏了。因为你cookie存的是一串session id,账号和密码则是保存在服务器中。

智能驾驶域控(ADCU)方案介绍 本文主要对智能驾驶域控(ADCU)方案相关知识进行总结,以加深理解,及方便后续查漏补缺。 阅读详情

相关推荐

深入解析Unity3D中PostLateUpdate突然占用大量时间的原因

在Unity3D的生命周期中,是一个在LateUpdate之后被调用的方法。它通常用于处理一些需要在所有更新(包括物理更新和动画更新)之后进行的逻辑。由于它在游戏循环的后期阶段被调用,因此它通常用于处理与渲染直接相关的任务,如相机调整、UI更新等。突然占用大量时间的问题可能由多种原因引起,包括复杂的逻辑处理、频繁的资源加载、不恰当的渲染优化、插件或第三方库的副作用以及内存泄漏或垃圾回收等。为了解决这个问题,开发者需要仔细审查和优化中的代码,同时利用Unity提供的工具来监控和分析游戏性能。

Yori_22的博客 979

HTTP协议中的Cookie和Session

HTTP协议中的Cookie和Session

Xpccccc的博客 2216

AI大模型与碳足迹评估结合模式及示范案例

AI大模型与碳足迹评估相结合,可以提供更精确、更快速的碳排放量计算,优化减排策略,并促进可持续发展目标的实现。

贾贾的博客 3943

HTTP协议-Cookie和Session详解

Session是另一种记录客户状态的机制,不同的是Cookie保存在客户端浏览器中,Session保存在服务器上。客户端浏览器访问服务器的时候,服务端把客户端信息以某种形式记录在服务器上,这就是Session。客户端浏览器再次访问时只需要从该Session中查找该客户的状态就可以了。如果说Cookie机制是通过检查客户身上的"通行证"来确定客户身份的话,那么Session及时就是通过检查服务器上的"客户明细表"来确认身份。

hlsxjh的博客 659

RAG开源框架深度评测:从RAGFlow到Dify的实战选型指南

本文深度评测了主流RAG开源框架(RAGFlow、Dify、WeKnora)的核心能力与实战表现,提供企业级选型指南。重点对比了文档解析、检索性能和生产部署等关键指标,揭示RAGFlow在复杂文档处理、Dify在低代码开发、WeKnora在腾讯生态集成的差异化优势,并给出技术选型决策树与成本优化方案。

weixin_29294597的博客 828

Intel Realsense windows安装与入门

realsense400系列介绍: https://www.intelrealsense.com/stereo-depth/?utm_source=intelcom_website&utm_medium=button&utm_campaign=day-to-day&utm_content=D400_learn-more_button realsense 435i介绍: ...

hanshuning的专栏 1万+

HTTP协议,Cookie和Session

第一节 HTTP协议 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接受HTTP页面的方法。1960年美国人Ted Nelson构思了一种通过计算机处理文本信息的方法,并称为超文本(hypertext),这成为了HTTP超文本传输协议标准架构的发展根基。Ted Nelson组织协调万维网协会(World Wide Web C...

m0_53342945的博客 1883

GWAS与eQTL相结合,进一步筛选疾病相关基因

欢迎关注”生信修炼手册”!在GWAS分析结果中,大部分显著的SNP位点都位于非编码区,很难直接挖掘这些位点的调控机制。通常假设与疾病关联的SNP位点通过调控基因表达来发挥作用,而eQTL...

庐州月光的博客 1万+

【Linux】HTTP协议中的cookie和session

HTTP Cookie(也称为Web Cookie,浏览器Cookie或者简称为Cookie)是服务器发送到用户浏览器并保存在浏览器上的一小块数据,它会在浏览器之后向同一服务器再次发起请求时被携带并发送到服务器上。通常,它用于告知服务器两个请求是否来自同一个浏览器,如保持用户的登录状态。记录用户偏好等。一般分为内存级和文件级Cookie。HTTP Session是服务器用来跟踪用户与服务器交互期间用户状态的机制。

加油,考上985的研究生 1339

VFIO框架源码分析(二十一)- IOMMUFD 模式下的 DMA 映射机制

在虚拟化 I/O 的世界里,无论上层管理面(如对象模型、设备绑定)如何重构,数据面最核心的任务始终未变——DMA 映射(DMA Mapping)。即如何建立 Guest Physical Address (GPA) 到 Host Physical Address (HPA) 的映射关系,并将其填入 IOMMU 的硬件页表中,使得直通设备能够正确访问虚拟机内存。在 Legacy VFIO (Type1) 时代,这一职责由承担,它通过ioctl 操作 Container。

qq_36071928的博客 1010

飞行机械臂设计

其后对飞行机械臂系统的机 理模型和基于 ADAMS 的物理模型进行了控制系统的搭建,对于机理模 型,设计了三个输入通道,分别是俯仰力矩,翻滚力矩与偏航力矩,控 制量为翻滚角,俯仰角,偏航角。四旋翼无人机自身具有独特的优势,在无人机上增加机械臂,整个 机体系统相当于一架空中行动自如的空中机器人,可以适应更多的应用场合,能够实现空中抓取,运输载荷,巡航监视等任务。的函数模块如图 4-8 所示,可见输入为 U1,U2,U3,U4,分别对应总力矩,俯仰力矩,翻滚力矩,偏航力矩,控制 量为俯仰角,翻滚角,偏航角。

coldmood77的博客 2916

Linux网络http协议cookie和session

HTTP Cookie(也称为 Web Cookie、浏览器 Cookie 或简称 Cookie)是服务器发送到用户浏览器并保存在浏览器上的一小块数据,它会在浏览器之后向同一服务器再次发 起请求时被携带并发送到服务器上。通常,它用于告知服务端两个请求是否来自同一 浏览器,如保持用户的登录状态、记录用户偏好等。HTTP Session 是服务器用来跟踪用户与服务器交互期间用户状态的机制。由于 HTTP 协议是无状态的(每个请求都是独立的),因此服务器需要通过 Session 来记住用户 的信息。

syxsanze的博客 1468

【NodeRed】node-red-contrib-opcua实现PLC读写

在之前的博文【Node-RED】node-red-contrib-opcua-server模块使用(1)中,我们介绍了用node-red-contrib-opcua-server模块实现OPCUA服务端的,以及二次开发的内容。本节博文中我们采用官方社区自带的node-red-contrib-opcua组件开展对OPCUA客户端的介绍,详细阐述用该组件中OpcUa-Client节点实现客户端对PLC的读写,以及实现过程中遇到的问题。由于官方社区中并没有找到该组件的介绍实例,这也是本博文编写的第1个原因。

weixin_48618536的博客 958

网络原理之HTTP协议,及理解Cookie和Session的区别

文章目录一、HTTP原理简介二、HTTP内容简介1. 认识URL2. HTTP协议格式3. HTTP的方法4. HTTP的状态码通过 Fiddler 抓包工具分析请求和响应的格式5. HTTP常见Header6. Cookie 和 Session 的简单介绍三、补充1.Http VS Https 提示:以下是本篇文章正文内容 一、HTTP原理简介    HTTP协议(超文本传输协议HyperText Transfer Protocol):它是基于TCP协议的应用层传输协议,简单来说就是客户端和服务端进行数

qq_41603622的博客 2191

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

HTTP协议之Cookie和Session

Http是无状态协议,那么服务端如何识别特定的客户端呢? 注:无状态指HTTP协议自身不对请求和响应之间的通信状态进行保存。对发送过的请求和响应都不做持久化处理(即不做任何保存) 每次HTTP请求的时候,客户端都会发送相应的Cookie信息到服务端。 实际上大多数的应用都是用Cookie来实现Session跟踪的,第一次创建Session的时候,服务端会在HTTP协议中告诉客户端,需要在Cooki...

DansonC的博客 485

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Cookie和Session、http协议

Cookie和Session 1. HTTP协议的无状态性 HTTP协议的通信模型:基于请求 - 处理 - 响应的! 由于这个通信协议的关系,导致了HTTP每个请求之间都是没有关联的,每当一个请求完成之后,服务器就忘记之前谁曾经请求过! 如果纯粹基于HTTP通信模型,是无法完成登录状态保持的!每次请求服务器,服务器都会把这个请求当作新请求来处理! 我们可以通过 cookie 技术,实现状态保持,但是由于cookie是存储在客户端的一门技术,所以安全性几乎没有,因此不要使用cookie存储敏感的数据! 2

无知者无畏 352

通过cookie和session让http协议变得有状态

session和cookie的理解以及如何http有状态因为http协议是无状态的,也就是说每次连接之后就不会记住上一次连接,如果是要登录才能查看的信息,就对用户体验很不好了。这篇文章我们介绍在客户端和服务端如何使得http协议有状态。Cookiecookie的工作机制是用户识别及状态管理。web网站为了管理用户的状态会通过WEB浏览器,把一些数据临时写入用户的计算机内,接着用户访问该web网站的时

woshinannan的专栏 3234

Linux之Http协议分析以及cookie和session

分析Http协议请求行中的URL路径以及常见的Method和状态行中的状态码,以及对Cookie和session的简洁

weixin_74285822的博客 903

【计网】从零开始学习http协议 ---深入理解cookie和session

本文详细的讲解了http协议中的cookie和session。分别介绍了其概念与作用。并通过代码实际操作深入理解!

叫我龙翔的博客 3858

HTTP协议之CORS、Cookie和Session

浏览器有个同源策略(Same-Origin Policy)。它规定了默认情况下,AJAX请求只能发送给同源的URL。同源是指3个相同:协议,域名(IP),端口。

m0_70432049的博客 242

HTTP协议是有状态还是无状态的?Cookie和Session

在面试中被问到HTTP协议是有状态还是无状态的,当场就有点懵,因为不会就没答出来。还是得总结一下啵! 一、HTTP协议的状态 HTTP是一种无状态协议,即服务器不保留与客户交易时的任何状态。 也就是说,上一次的请求对这次的请求没有任何影响,服务端也不会对客户端上一次的请求进行任何记录处理。 二、HTTP协议的无状态性带来的问题: 用户登录后,切换到其他界面,进行操作,服务器端是无法判断是哪个用户登录的。...

ambition_zhou的博客 5723

HTTP协议Cookie和Session有什么区别

为什么会有COOKIE这种机制 首先一种场景, 在一个网站上面, 我发起一次请求,那服务器怎么知道我是谁?是谁发起的这次请求呢, HTTP协议是无状态的协议, 浏览器的每一次请求,服务器都当做一次新请求, 但是在实际应用中我们需要知道这个请求来自于谁,需要查找哪些信息返回给访问者, 这个时候就引入了COOKIE机制, COOKIE机制是什么呢? 其实就是服务器给客户端返回数据的时候,中间加了一个标识, 然后客户端再次请求数据的时候,数据中带上这个标识, 那么服务器接收到请求消息时就知道这个请求来自于谁了(

southwindpass的博客 173

爬虫基础:HTTP协议 + cookie、session和token

大家都知道HTTP协议是无状态的。状态可以理解为客户端和服务器在某次会话中产生的数据,那无状态的就以为这些数据不会被保留。每当有新的请求发送时,就会有对应的新响应产生。协议本身并不保留之前一切的请求或响应的相关信息。一句有意思的话来描述就是人生只如初见,对服务器来说,每次的请求都是全新的,及时同一个客户端发起的多个请求间。随着Web的不断发展,因无状态而导致业务处理变得棘手的情况增多,因此我们需要解决这个问题,也就是说要让http可以“保持状态”,那么Cookie就是在这样一个场景下诞生。

unravel_tom的博客 1053
上一篇: Https协议如何保证安全性?
下一篇: 【计算机网络】TCP报文详解
林   子
博客等级 码龄4年 2671粉丝 64原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林 子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值