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

会话与会话管理:Cookie与Session的深度解析

一、什么是会话?

二、Cookie:客户端存储技术

1. Cookie的工作原理

 2、在后端设置cookie

 3、在前端设置cookie

 三、浏览器开启了cookie禁用怎么办?


一、什么是会话?

        会话(Session)是指一个用户与服务器之间的一系列交互过程。从用户第一次访问服务器开始,到用户关闭浏览器结束,这个过程称为一个会话。会话管理的目标是让服务器能够“记住”用户的身份和之前的操作,从而实现有状态的交互。

        会话分为两种类型:

  1. 有状态会话(Stateful Session):服务器主动维护用户的会话状态信息(如用户登录状态、操作记录等),并将其存储在服务端。类似于“服务员记住你的喜好”。

  2. 无状态会话(Stateless Session):服务器不存储用户状态信息,所有状态由客户端自行管理(如通过URL参数或客户端存储)。类似于“服务员不会记住你”。

由于HTTP协议本身是无状态的,需要借助CookieSession技术实现会话管理

        会话管理:像http这种不会保存会话状态的需要 借助其他方法来帮助保存会话状态,让服务器能够“记住”用户的身份和之前的操作。cookie客户端技术【把状态存在客户端】、session服务端技术【把状态存在服务端】

二、Cookie:客户端存储技术

1. Cookie的工作原理

        cookie由服务器创建,【所有第一次访问没有信息】然后通过响应发送给客户端,发送到用户浏览器并保存到本地的一块信息。他会在浏览器下次发起请求时携带并发送到服务器上

  

 

 2、在后端设置cookie

   ① test: 创建一个设置cookie的服务器后端 SetCookie

    查看cookie:

      

   设置值: 

   设置cookie后任一请求都能携带cookie信息 :

② 获取cookie:创建一个GetCookie的服务器后端 

后端输出 

  

 3、在前端设置cookie

        cookie作为一个客户端技术,在前端页面利用js技术也可以设置获取

设置:

 获取:

 也可以使用jquery操作:jQuery Cookie 插件 | 菜鸟教程----👍

这里我是本地引入的 

 获取所有cookie:console.log($.cookie(''))

可以直接获取某个cookie console.log($.cookie('account')) 

 //删除某个cookie
 $.removeCookie('color');

 

②session 

服务器后端设置session----只能在后端设置,前端设置不了 

 

可以看到JSESSIONID----每次访问都会更新

 服务器后端获取session

删除session 

输出就没有名字了

销毁session

 三、浏览器开启了cookie禁用怎么办?

       如果浏览器开启了cookie禁用,就彻底不能用cookie了,session也不能正常使用,但是session可以挽救一下:

在 session 这个地方,重写 URL,借助重定向直接跳到 get session。

 

相关文章:

  • shell中 <<<(Here String)的使用
  • etcd部署硬件资源推荐
  • 搭建数字化生态平台公司:痛点与蚓链解决方案
  • Zookeeper(79)如何进行Zookeeper的监控?
  • 回溯算法中的for循环和递归使用
  • 自动化测试框架设计
  • Unity 优化封装常用API和编辑器扩展工具包
  • Redis的过期策略及其优缺点
  • FPGA之硬件设计笔记-持续更新中
  • python-leetcode-颜色分类
  • 安全模块设计:token服务、校验注解(开启token校验、开启签名校验、允许处理API日志)、获取当前用户信息的辅助类
  • 模拟进程通过系统调用向缓冲区写入并刷新的过程
  • k8s之pod的调度之污点与容忍污点,什么是污点? 如何容忍污点
  • 校园二手交易微信小程序的设计与实现(论文源码调试讲解)
  • 在鸿蒙HarmonyOS手机上安装hap应用
  • 深度学习基础--ResNet50V2网络的讲解,ResNet50V2的复现(pytorch)以及用复现的ResNet50做鸟类图像分类
  • 【北京迅为】iTOP-RK3568OpenHarmony系统南向驱动开发-第1章 GPIO基础知识
  • 线程概述以及Java中线程的三种创建方式(继承Thread类、实现Runnable接口、实现Callable接口)
  • 鸿蒙 ArkUI 实现 2048 小游戏
  • 网络安全 越权分为几种
  • 网站上的图标用什么软件做的/百度推广营销怎么做
  • 做代购有哪些网站有哪些/香港旺道旺国际集团
  • 如何wordpress建站/seo网站优化课程
  • 网站怎么弄模板/品牌运营方案
  • 网站 手机 css/每日新闻播报
  • 成都彩票网站开发/不受国内限制的浏览器下载