【计算机网络之HTTP篇】Cookie与Session的区别

news/2023/9/27 7:36:47

目录

原理

缺点

Session

原理

区别


Cookie

cookie是浏览器在本地存储数据的一种机制。

原理

        当浏览器向服务器第一次发送请求时,服务器会向浏览器返回一个Cookie,此时 cookie记录着浏览器访问服务器的用户登录状态。

        后续浏览器再次访问服务器时,发送请求时也携带着cookie一并发送给服务器,服务器识别该cookie就可以判断是不是同一个用户。

缺点

1、单个cookie在浏览器的限制是3K,就是说一个站点在浏览器存放的COOKIE大小不能超过3K。

2、cookie保存在用户本地浏览器,容易被伪造,安全性存在风险

Session

        session表示一个会话,是服务器的一个容器对象。默认情况下服务器会针对每一个浏览器请求,servlet容器都会分配一个session对象,session对象本质上可以认为是ConcurrentHashMap,可以用来存储当前会话产生的一些状态数据,以key-value形式来存储数据,key为sessionId

        HTTP协议是一种无状态协议,也就是说服务器并不知道浏览器端发过来的多次请求是否属于同一个用户,因此服务器端可以使用session来存储浏览器发送多次请求的一个记录。

     服务器端利用session机制结合浏览器的cookie机制就可以使HTTP协议变成一个“有状态”协议。

原理

        当浏览器第一次发送请求时,服务器会创建一个session 和一个cookie(其中cookie包含着sessionId)。session保存在服务器端,该cookie被发送给浏览器端,保存在浏览器本地。

        当浏览器发送多次请求给服务器时,服务器识别浏览器发来的cookie,并根据cookie中的sessionId来查询session对象,从而来判断不同的用户

 

区别

1、cookie  保存在本地浏览器中,session保存在服务器中

2、cookie的安全性有风险,容易被伪造,因此一些登录重要信息保存在session中,其他信息保存在cookie中

3、cookie保存信息长度有限,只有3k大小


https://dhexx.cn/news/show-4633728.html

相关文章

Linux--ServerProgramming--(4)详解 I/O复用

1. I/O 复用功能 I/O 复用能同时监听多个文件描述符。 I/O 复用本身是阻塞的。 当有多个文件描述符同时就绪时:若不采取额外措施,程序就只能按顺序一次处理其中的每一个文件描述符,这使得服务器程序看起来是串行工作的。若要实现并发&#…

Python数据攻略-DataFrame的创建与基础特性

大家好,我是Mr数据杨,今天我带来的是一本既实用又有趣的Python教程笔记,主角是Pandas DataFrame。它就像《三国演义》中的诸葛亮,机智、实用,可以帮助我们轻松处理各种数据问题。 我们来看如何创建诸葛亮——这个Data…

relation-graph关系图谱组件2.0版本遇到的问题

前提:之前已经写过一篇1.1版本的问题,这里就不过多讲了(如果想要解决火狐低版本兼容,看那个就行) 这次主要讲的是和1.X版本的区别和一些其它问题 区别 参数名不同:以前的links>lines (虽然现在links也…

java debug调试工具

文章目录 java debug调试工具debugdebug运行断点如何运行 具体使用step intostep into Force step intoresume programstopview breakpointsmute breakpointsstep ourt Shift消除debug java debug调试工具 debug 就是调试工具,用来查看代码在运行工程数据的变化。 …

Java 面试题:Spring,Spring MVC,Spring Boot 之间什么关系?

来,先和我看张图: Spring全家桶了为了解决不同场景的问题,逐渐演化出多套生态环框,如:Spring、SpringMVC、SpringBoot、SpringCloud。 Spring MVC和Spring Boot都属于Spring,Spring MVC是基于Spring的一个…

SpringBootWeb AOP(上)

事务&AOP 1. 事务管理 1.1 事务回顾 事务是一组操作的集合,它是一个不可分割的工作单位。事务会把所有的操作作为一个整体,一起向数据库提交或者是撤销操作请求。所以这组操作要么同时成功,要么同时失败。 怎么样来控制这组操作&…

[洛谷]P2960 [USACO09OCT]Invasion of the Milkweed G(BFS,坑点多多)

、1:坐标是反的,(1,1)是在左下角,正常在右上角,所用建图的时候要小心 2: 加node(),搭配 中的构造 3: 不用判断位置是否越界,数组从1,1开始&…

51单片机银行自助排队叫号系统VIP热敏打印功能DY-SV17F语音播报

实践制作DIY- GC0138-银行自助排队叫号系统VIP 基于51单片机设计---银行自助排队叫号系统VIP 二、功能介绍: STC89C52最小系统板0.96寸OLED显示器DY-SV17F语音串口语音播报模块DS1302北京时间热敏打印机1个业务选择(取钱或者存钱)1个普通取号…

NEEPUSec CTF 2023 easymath

easymath 题目描述: from Crypto.Util.number import *flagbytes_to_long(bNeepu{xxx})N 738931348122338421499476261982330058997842307585754071200798137388701886017484620800095723028366934218646065252158059518352370641258869511690690571844077077623…

【网络安全】企业应急响应基础技能

windows 任务计划列表 1. 计算机管理窗口,选择 系统工具 中 任务计划程序 中的 任务计划程序库选项 可以查看任务计划的名称,状态,触发器等详细信息 2.powershell中输入get-scheduledtask 可以查看当前系统所有任务计划信息 任务路径,名称,状态等详细信息 3.命令行中输入s…