当前位置:网站首页>Cookie和Session使用
Cookie和Session使用
2022-08-03 11:00:00 【51CTO】
一.为什么需要cookie?
A、B两人都有自己的京东账号,且都在本地登录成功过(7天免密登录),此时A将自己的购物车练级发送给B,B用浏览器访问该链接是无法查看到A的购物车内容的,B可能直接进入到自己的购物车或者提示B需要重新登录跳转到了登录页面。该场景说明,服务端知道访问的客户端是谁。但是我们都知道http是无状态的,我们就需要使用cookie来标记客户端是谁并将其发送给服务端。
二.Cookie及Session
Cookie 是保存在本地的一组键值对。Cookie的工作原理:它是当客户端访问服务端后,服务端生成的并发送给客户端并保存在客户端本地的一组键值对,它是用来保存用户的信息(信息客户端自定义)。当浏览器再次访问时,浏览器就会自动带上cookie,这样服务器就能通过cookie的内容来判断服务端是谁了。
虽然cookie在一定程度上解决了”保持状态”的需求,弥补了http协议的无状态的缺陷,但是由于cookie本身最大只支持4096字节;且cookie是保存在客户端本地的,可以被拦截或截取,在安全性上并不能保证。所以,此时需要用session来协助解决最大字节问题及保存在本地的安全性问题,session将用户信息保存在服务器。
那么,如果将session保持到服务端,客户端如何通过cookie将服务端的session桥接起来?
这样就出现了cookie和session如何协助的问题?我们可以给每个客户端的cookie分配一个唯一的id,这样用户在访问时,通过cookie,服务器就知道来的人事谁。然后我们再根据不同cookie的id,在服务器上保存一段时间的用户私密资料。
总结而言:cookie弥补了http无状态的不足,让服务器知道来的人是’谁’;但是cookie以文本的形式保存在本地,自身安全性较差;所以我们就通过cookie识别不同的用户,对应的在session里保存用户私密的信息已及能超过4096字节的文本。
三.Cookie的单独使用?
四.Cookie及Session的结合应用?
边栏推荐
- SAP 电商云 Spartacus UI 的 External Routes 设计明细
- 成为优秀架构师必备技能:怎样才能画出让所有人赞不绝口的系统架构图?秘诀是什么?快来打开这篇文章看看吧!...
- 使用.NET简单实现一个Redis的高性能克隆版(一)
- Mysql OCP 74 questions
- servlet生命周期详解--【结合源码】
- Programmers architecture practice way: software architecture basic concepts and thinking
- GBase 8c与openGauss是什么关系?
- oracle计算同、环比
- OS层面包重组失败过高,数据库层面gc lost 频繁
- Why is the new earth blurred, in-depth analysis of white balls, viewing pictures, and downloading problems
猜你喜欢
MapReduce中ETL数据清洗案例
[Detailed explanation of binary search plus recursive writing method] with all the code
Matplotlib
【多线程的相关内容】
用于发票处理的 DocuWare,摆脱纸张和数据输入的束缚,自动处理所有收到的发票
numpy
Polymorphism in detail (simple implementation to buy tickets system simulation, covering/weight definition, principle of polymorphism, virtual table)
Basic using MySQL database
Who is more popular for hybrid products, depending on technology or market?
混动产品谁更吃香,看技术还是看市场?
随机推荐
机器学习(公式推导与代码实现)--sklearn机器学习库
Pixel mobile phone system
后台图库上传功能
袋鼠云思枢:数驹 DTengine,助力企业构建高效的流批一体数据湖计算平台
如何改变sys_guid() 返回值类型
二叉搜索树(搜索二叉树)模拟实现(有递归版本)
用于发票处理的 DocuWare,摆脱纸张和数据输入的束缚,自动处理所有收到的发票
使用.NET简单实现一个Redis的高性能克隆版(一)
redis基础知识总结——数据类型(字符串,列表,集合,哈希,集合)
在安装GBase 8c数据库的时候,报错显示“Host ips belong to different cluster”。这是为什么呢?有什么解决办法?
oracle计算同、环比
再谈“雷克萨斯”安全装置失效!安全手册疑点重重,网友:细思极恐
ETL data cleaning case in MapReduce
深度学习100例——卷积神经网络(CNN)实现服装图像分类
QT with OpenGL(Shadow Mapping)(面光源篇)
全新的Uber App设计
面试官:工作两年了,这么简单的算法题你都不会?
CADEditorX ActiveX 14.1.X
How to make self-introduction
build --repot