码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Cookie 和 Session


    本文主要讲解一下 Cookie 和 Session 的关系和区别,大家都知道 Session 比 Cookie 安全,Session 是存储在服务器端的,Cookie 是存储在客户端的,然而更详细的说,恐怕就不太清楚了


    文章目录

    • 1. 什么是 HTTP
    • 2. Cookie
      • 2.1 图解 Cookie 工作原理
    • 3. Session
      • 3.1 图解 Session 工作原理
    • 4. Cookie 与 Session 的区别

    1. 什么是 HTTP

    首先要先介绍一下什么是 HTTP

    HTTP:超文本传输协议,它是一个应用层协议,是万维网数据通信的基础,通过 HTTP 协议请求的资源由统一资源标识符(URL)来标识

    HTTP 是无状态协议,说明它不能以状态来区分和管理请求和响应,所以服务器单单从网络连接上无法得知客户身份

    所以就需要给客户端们办法一个通行证,每人一个,无论谁访问都必须带有通行证,这样服务器就可以通过通行证得知客户身份了。这就是 Cookie 的工作原理

    2. Cookie

    上面说过 Cookie 就像是通行证,通行证上保存的就是客户端的用户信息,随着每次请求发送到服务器

    Cookie会根据响应报文里的一个叫做Set-Cookie的首部字段信息,通知客户端保存Cookie。当下客户端再向服务端发起请求时,客户端会自动在请求报文中加入Cookie值之后发送出去.

    之后服务端发现客户端发送过来的Cookie后,会检查是哪个客户端发送过来的请求,然后对服务器上的记录,最后得到了之前的状态信息。

    如下,是访问百度官网时,响应标头中的 Set-Cookie

    请添加图片描述

    2.1 图解 Cookie 工作原理

    请添加图片描述

    请添加图片描述

    3. Session

    服务器执行 Session 机制的时候会生成 SessionId,这个 Id 会通过 Set-Cookie 发送到客户端,并会被客户端保存下来,保存的容器就是 Cookie

    客户端每次请求都会把这个 Id 值放在请求的头部发送给服务器

    因此当完全禁用掉浏览器的 Cookie 时,服务器的 Session 也会不能使用

    3.1 图解 Session 工作原理

    请添加图片描述

    4. Cookie 与 Session 的区别

    1. Cookie 数据存放在客户的浏览器上,Session 数据放在服务器上,但是服务器的 Session 的实现对客户端的 Cookie 有依赖关系
    2. Cookie 不是很安全,别人可以分析放在本地的 Cookie 并进行 Cookie 欺骗,考虑安全应当使用 Session
    3. Session 会在一定时间内保存在服务器上。当访问增多,会比较占用服务器性能
  • 相关阅读:
    UGeek大咖说美图专场精彩回顾:围绕故障治理浅谈可观测性建设
    线性表章节课后习题答案集锦
    二叉树中所有距离为k的节点
    水平直逼高级病理学家!清华团队提出AI基础模型ROAM,实现胶质瘤精准诊断
    python实现小游戏——植物大战僵尸(魔改版本)
    JS全局替换(replace//g)
    道可云元宇宙每日资讯|《江苏省元宇宙产业发展行动计划》发布
    【PTA-训练day11】L2-023 图着色问题 + L1-039 古风排版
    prompt问题【中间不好】
    机器学习和大数据基础数据集--免费
  • 原文地址:https://blog.csdn.net/m0_56975154/article/details/127643291
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号