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


    JavaWeb-Session和Cookie

      • 一、Cookie概述
        • 1.1 Cookie的属性
        • 1.2 Cookie的工作机制
        • 1.3 使用Cookie的好处和注意事项
      • 二、Session概述
        • 2.1 Session的属性
        • 2.2 Session的工作机制
        • 2.3 使用Session的好处和注意事项
      • 三、Cookie和Session对比
      • 四、分布式Session框架核心问题
        • 4.1 分布式Session框架如何解决服务器内存限制问题
        • 4.2 分布式Session框架如何解决适用场景问题
        • 4.3 分布式Session框架如何解决性能开销问题
        • 4.4 分布式Session框架如何解决安全性问题
        • 4.5 分布式Session框架如何解决无状态化与用户体验的矛盾
      • 五、如何解决表单重复提交问题

    一、Cookie概述

    1.1 Cookie的属性

    Cookie是由服务器发送到用户浏览器并保存在本地的一小块数据,用于保持浏览器和服务器之间的状态。一个典型的Cookie属性包括:名称(name),值(value),过期时间(expires),域(domain),路径(path),安全标志(secure),最大年龄(max-age)和HttpOnly标志。

    • 1、名称和值是必需的属性,分别指定了Cookie的名称和值。
    • 2、过期时间用于指定Cookie何时应该被删除。
    • 3、域和路径定义了该Cookie的可访问范围,告诉浏览器该Cookie属于哪个网站。
    • 4、安全标志设置为true时,浏览器只会在HTTPS和SSL等安全协议中传输此Cookie,不会在不安全的HTTP协议中传输此Cookie。
    • 5、最大年龄设置Cookie的有效期,单位为秒。当达到最大年龄时,Cookie将被自动删除。
    • 6、HttpOnly标志指示浏览器禁止通过JavaScript访问该Cookie,从而减少XSS攻击的风险。

    1.2 Cookie的工作机制

    Cookie的工作机制基于服务器与浏览器之间的信息交换。其工作流程如下:

    • 1、服务器通过Set-Cookie报头把特定的信息(即Cookie)发送给浏览器。
    • 2、浏览器接收到服务器发来的Set-Cookie报头后,会保存相应的Cookie信息,并在下次向同一服务器再发起请求时,将该Cookie信息携带并发送到服务器上。
    • 3、服务器通过解析浏览器发送过来的Cookie信息,确定用户状态或身份。

    具体来说,Cookie机制主要应用在保持用户的登录状态上。例如,当用户登录一个网站时,前端会通过用户登录API向后端传递用户信息,后端核对信息是否匹配数据库。如果匹配成功,后端将在登录API返回头部的set-cookie字段中设置记录用户状态的cookie值,例如userToken。这样,在用户与服务端的后续交互中,就可以通过这个cookie来识别用户,从而维持用户的登录状态。

    1.3 使用Cookie的好处和注意事项

  • 相关阅读:
    你们关心的问题:产品经理面试中的职业规划及项目经历要怎么说?
    黑马JVM总结(四)
    初步认识OpenGL之QT
    中英文说明书丨CalBioreagents艾美捷重组Ku-p70/p80蛋白
    Python 文件打包成可执行文件
    stream流中 filter方法自定义过滤方式
    使用Microsoft Dynamics AX 2012 - 3. 采购
    【软件设计师-中级——刷题记录6(纯干货)】
    HTML学习(标签)
    关于STM32的启动,boot0和boot1的取值说明
  • 原文地址:https://blog.csdn.net/miaoyl1234/article/details/134541479
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号