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

HTTP cookie 与 session

一.Cookie
 

定义:

是服务器发送到用户浏览器并保存在浏览器上的一小块数据, 它会在浏览器之后向同一服务器再次发起请求时被携带并发送到服务器上。 通常, 它用于告知服务端两个请求是否来自同一浏览器, 如保持用户的登录状态、 记录用户偏好等

注意点:cookie数据块是存储在浏览器上面的,例如下图:

使用原理:

1.当用户在浏览器第一次访问某个服务器时,服务器在响应时会在HTTP头部设置Set-Cookie字段

2.用户的浏览器在接受到响应时,同时也接受到Cookie,并且将其保存在本地文件中

3.在之后的浏览器请求该服务器时,浏览器会自动在HTTP请求头部携带cookie字段,并且将本地Cookie内容发送给服务器

这样就可以做到身份确认了。

Cookie分类:

会话Cookie:在浏览器关闭时失效

持久Cookie:带有明确的过期日期或持续时间,可以跨多个浏览器会话存在

补充说明: 如果 cookie 是一个持久性的 cookie, 那么它其实就是浏览器相关的, 特

定目录下的一个文件。 但直接查看这些文件可能会看到乱码或无法读取的内容,
因为 cookie 文件通常以二进制或 sqlite 格式存储。 一般我们查看, 直接在浏览
器对应的选项中直接查看即可

如下:

下面我们来讨论一个重要问题:安全性

Cookie是存储在用户端的,如果cookie内容泄漏,那么就会导致用户信息泄露,从而出现重大问题,所以我们引入了session




二.Session

定义:

HTTP Session 是服务器用来跟踪用户与服务器交互期间用户状态的机制。 由于 HTTP
协议是无状态的(每个请求都是独立的) , 因此服务器需要通过 Session 来记住用户
的信息


工作原理:

1.当用户通过浏览器初次访问一个服务器时,服务器会在服务器端创建一个Session ID,并且在响应时发送Cookie字段

2.服务器将Seesion ID对应的数据存储在服务器的内存/数据库/缓存中

3.当用户在浏览器再次访问该服务器时会携带Session ID,此时服务器就可以通过该ID来访问对应的用户数据

安全性:

之前我们说cookie存在安全性问题,那么session是如何解决该问题的呢?

session机制中在用户端的cookie还是存在泄露风险,但是要知道此时的cookie文件中并未存储用户的数据信息,只有session ID,虽然可以通过session ID来尝试访问服务器,但是子啊服务端可以通过一些其他检测手段,例如:异地登录需要人脸,手机电脑型号不匹配等,此时就可以大大缓解泄露的风险

以上就是cookie和session的全部内容了,感谢大家的支持!!!

http://www.lryc.cn/news/471492.html

相关文章:

  • 智慧停车场导航系统架构及反向寻车系统解决方案
  • 【小程序上传图片封装2024,支持多图,带进度,上传头像】
  • [A-14]ARMv8/ARMv9-Memory-内存模型的类型(Device Normal)
  • 驾校管理系统|基于java和小程序的驾校管理系统设计与实现(源码+数据库+文档)
  • @Mapper使用中遇到的问题解法汇总
  • 深度学习:YOLO V3 网络架构解析
  • SpringCloudAlibaba-Sentinel-熔断与限流
  • mysql中的mvcc理解
  • ETF申购赎回指南:详解注意事项与低费率券商推荐!
  • List<T>属性和方法使用
  • 记一次:使用使用Dbeaver连接Clickhouse
  • Java面向对象编程进阶(四)
  • 【51单片机】第一个小程序 —— 点亮LED灯
  • 如何通过自动化有效地简化 Active Directory 操作?
  • Java-POI导出EXCEL(动态表头)
  • 利用 Direct3D 绘制几何体—9.流水线状态对象
  • 【开源项目】libfaketime安装、使用——小白教程
  • java.util.concurrent包
  • Django创建项目模块+创建映射类+视图
  • 使用AMD GPU和LangChain构建问答聊天机器人
  • 2024年808数据结构答案
  • Amazon Linux 2023 安装 Docker
  • 接口测试(八)jmeter——参数化(CSV Data Set Config)
  • GGD证明推导学习
  • Flink难点和高频考点:Flink的反压产生原因、排查思路、优化措施和监控方法
  • Swarm - Agent 编排工具
  • 使用Python中的jieba库进行简单情感分析
  • `pip` 下载速度慢
  • 【WRF数据准备】基于GEE下载静态地理数据-叶面积指数LAI及绿色植被率Fpar
  • 网管平台(进阶篇):网管软件的配置方式