Cookie和Session的区别
核心概念CookieCookie(HTTP Cookie)是由服务器发送到用户浏览器并保存在本地的一小块数据。Cookie会在浏览器下次向同一服务器发起请求时被携带并发送到服务器。Cookie主要用于: 会话管理:保存用户的登录状态、会话标识等 个性化设置:记住用户的偏好设置、语言选择等 行为追踪:记录用户的浏览行为,用于分析和广告投放 Cookie的特点: 存储在客户端(浏览器) 每次HTTP请求会自动携带 有大小限制(通常4KB) 可以设置过期时间 可以被JavaScript访问(HttpOnly属性除外) SessionSession(会话)是服务器端用来存储用户会话信息的机制。当用户首次访问服务器时,服务器会为该用户创建一个唯一的Session,并生成一个SessionID。这个SessionID通过Cookie返回给客户端,客户端在后续请求中携带这个SessionID,服务器据此识别用户并获取对应的会话数据。 Session的特点: 存储在服务器端(内存、数据库或缓存) 数据安全性高,客户端无法直接访问 存储容量大,不受浏览器限制 生命周期由服务器控制 依赖C...
HTTP和HTTPS的区别
核心概念HTTP协议HTTP(HyperText Transfer Protocol,超文本传输协议)是一种应用层协议,用于在Web浏览器和Web服务器之间传输数据。自1991年由Tim Berners-Lee提出以来,HTTP已成为万维网数据通信的基础。HTTP协议采用明文传输方式,这意味着所有传输的数据都以可读的文本形式在网络中传递,任何人都可以在传输过程中截获并查看这些数据。 HTTPS协议HTTPS(HTTP Secure)是HTTP的安全版本,它在HTTP协议的基础上增加了TLS/SSL(Transport Layer Security/Secure Sockets Layer) 加密层。HTTPS通过加密、身份认证和数据完整性校验三大机制,为Web通信提供了端到端的安全保障。简单来说,HTTPS = HTTP + TLS/SSL。 核心区别对比 对比维度 HTTP HTTPS 传输方式 明文传输 TLS/SSL加密传输 安全性 低,数据易被窃听、篡改 高,防窃听、防篡改、防重放攻击 默认端口 80 4...
乐观锁和悲观锁
核心概念总结在深入细节之前,让我们先理解两种锁的核心思想: 悲观锁(Pessimistic Locking):假设并发冲突一定会发生,在操作数据前先加锁,其他线程/事务必须等待。适合高并发冲突场景,通过加锁保证安全。 乐观锁(Optimistic Locking):假设并发冲突很少发生,不加锁直接操作,提交时检测是否被别人改过。适合读多写少场景,通过版本检验或CAS保证一致性。 这两种策略的选择,本质上是在性能和安全性之间的权衡。 悲观锁(Pessimistic Locking)核心思想悲观锁采用”先下手为强”的策略:假设并发冲突一定会发生,因此在操作数据前先加锁,其他线程/事务必须等待锁释放后才能操作。 这种策略类似于现实生活中的”先到先得”:当你需要操作某个资源时,先把它锁起来,确保在你操作完成之前,其他人无法修改它。 工作原理12线程A: 获取锁 → 操作数据 → 提交事务 → 释放锁线程B: 等待... → 等待... → 获取锁 → 操作数据 → 提交事务 → 释放锁 常见实现方式1. 数据库层面的悲观锁MySQL/PostgreSQ...
HTTP状态码
HTTP状态码总体分类HTTP状态码是一个3位数字,由RFC 7231等标准定义。状态码的第一位数字定义了响应的类别,共有5大类: 范围 类别 含义 一句话理解 1xx 信息性状态码 Informational 请求已收到,继续处理 2xx 成功状态码 Success 请求成功处理 3xx 重定向状态码 Redirection 需要进一步操作以完成请求 4xx 客户端错误状态码 Client Error 请求有问题,客户端需要修正 5xx 服务器错误状态码 Server Error 服务器处理请求时出错 状态码的组成HTTP状态码由三部分组成: 第一位数字:定义响应类别(1-5) 后两位数字:具体状态码(00-99) 状态文本:可读的状态描述(如”OK”、”Not Found”) 例如:200 OK、404 Not Found、500 Internal Server Error 2xx:成功状态码2xx系列状态码表示请求已成功被服务器接收、理解并处理。这是Web开发中最常见的状态码类别。 200 OK - 请求成功含义:请求成功,服务器已成功处...
python中的深拷贝和浅拷贝
总结Python 中变量是引用。 浅拷贝只复制外层对象,内部仍共享;深拷贝递归复制所有对象,彼此完全独立。 如果你遇到过这些问题,那么本文正是为你准备的。我们将从Python的对象模型开始,深入理解浅拷贝和浅拷贝的区别,掌握它们的适用场景,并学会在实际开发中正确选择使用。 核心要点总结在深入细节之前,让我们先记住三个关键点: Python中变量是引用:变量名只是指向对象的标签,不是对象本身 浅拷贝(shallow copy):只复制最外层对象,内部嵌套对象仍然共享引用 深拷贝(deep copy):递归复制所有层级的对象,创建完全独立的副本 理解这三个概念,是掌握Python对象拷贝的基础。 Python的对象模型:理解引用的本质要理解深拷贝和浅拷贝,首先必须理解Python的对象模型。Python中的对象模型与其他一些语言(如C++、Java)有着根本性的不同。 变量的本质在Python中: 变量名不是对象 变量名只是一个标签(标签/引用),指向内存中的对象 一个对象可以有多个标签(多个变量指向同一个对象) 基础示例让我们通过一个简单的例子来理解: 12a =...
指针和引用的区别
总结指针是保存地址的变量,可以为空、可变;引用是变量的别名,必须初始化、不可为空、不可重新绑定。cpp中优先使用引用,只有在需要“可空/可变指向”时才使用指针 指针和引用对照 对比点 指针(Pointer) 引用(Reference) 本质 保存地址的变量 变量的别名 是否必须初始化 否 是 是否可以为空 是 否 是否可以改变指向 是 否 是否有独立内存 有 无 访问方式 *p解引用 直接用变量名 sizeof 指针大小(8字节) 等于所引用对象大小 多级 int** 不存在 常见用途 动态数组、数组、指针传参 参数传递、返回值 示例指针12345int a = 10;int* p = &a;*p = 20;cout << a; // 20 p存的是a的地址需要*才能访问值 引用12345int a = 10;int& r = a;r = 20;cout << a; // 20 r就是a不需要*
2025.12.30计网期末
ISP(Internet Service Provider),互联网服务提供商 ICP(Internet Content Provider),互联网内容提供商 IDC(Internet Data Center),互联网数据中心 ASP(Active Server Pages),动态服务器页面 Internet的网络层四个重要协议,IP,ICMP,ARP,RARP ICMP(Internet Control Message Protocol)负责传输控制和差错报告信息 在允许丢包的前提下,UDP相比TCP的传输效率更高 局域网拓扑结构没有统一的模式 在HTTP协议中,请求报文中的请求行包括:请求方法、URL和HTTP版本号 一个网卡的硬件地址是烧写在其ROM中的 理想低通信道的最高码元传输速率为2WBaud 采用星型拓扑的 10Mbps 基带双绞线以太网可以表示为10BaseT 在连续ARQ协议中,当滑动窗口序号位数为n,则发送窗口最大尺寸为2n−12^n-12n−1 互联网的主要硬件设备有中继器、网桥和路由器 汇接局全覆盖适合于中等城市的本地网的网路...
Prompt设计
定义Prompt设计=如何用指令让大模型产生稳定、可控、正确的输出。 Prompt的基本结构 角色(Role) 任务(Task) 格式要求(Format) 约束(Constraints) 示例(Examples,Few-shot) 优秀的Prompt=角色+任务+限制+示例+输出格式 Prompt的四大经典模式Zero-shot Prompt不给示例,让大模型直接回答。 初步测试模型能力。 Few-shot Prompt给模型几个示例,让它模仿输出格式 提高稳定性、一致性、减少模型走偏 Chain of Thought让模型展示推理过程,提升逻辑正确率 数学、推理、复杂逻辑测试 Self-Consistency让模型给多个答案,再综合最佳解 减少错误和逻辑混乱 Prompt设计中常见问题&如何避免模糊指令模型会胡乱发挥 用明确任务+输出格式避免 缺乏格式约束模型输出多余内容 用结构化输出约束 提问太宽泛容易出现幻觉 用范围限制 Prompt在大模型中的应用 构建测评用例:限定任务、限定输出格式、避免模型自由发挥 测试稳定性...
ADSL
📡 ADSLADSL(Asymmetric Digital Subscriber Line)非对称数字用户线路是一种利用 普通电话线(铜线)提供宽带上网 的技术。 ADSL = 用电话线实现宽带,下行快、上行慢,能同时打电话 + 上网。 非对称 指:👉 下载速率 > 上传速率 例如:下行 10 Mbps,上行 1 Mbps。 🧩 ADSL 的作用 让用户在 不更换电话线 的前提下使用宽带上网 同时支持:✔ 上网✔ 打电话✔ 视频互不干扰 🔧 ADSL 的核心原理利用电话线 高频部分传输数据,低频部分继续传输语音。 电话线频率分割 功能 频率范围 语音电话 0 ~ 4 kHz 上行数据 25 ~ 138 kHz 下行数据 138 kHz ~ 1.1 MHz 这就是为什么 ADSL 可以边打电话边上网。 🔌 ADSL 上网需要哪些设备 ADSL Modem(猫)把电话线信号转换为数字数据。 分离器(Splitter)用来把语音信号和宽带信号分离。 家庭连接方式: 12电话线 → 分离器 →(语音)电话机 ...
TCP和UDP
👉总结TCP:有连接、有序、可靠 → 慢。UDP:无连接、不可靠 → 快。 🚀 TCP(Transmission Control Protocol)面向连接、可靠传输、字节流。 ⭐ TCP 的特点 特点 说明 面向连接 三次握手建立连接、四次挥手关闭 可靠传输 超时重传、确认应答、序列号、滑动窗口 有序传输 丢包/乱序会自动重排 流量控制 滑动窗口避免发送过快 拥塞控制 慢启动、拥塞避免、快速重传等 面向字节流 数据没有界限,需要应用层自己定义边界 📍 适用场景:需要保证数据可靠、有序,如:HTTP、HTTPS、FTP、SMTP、SSH… 🚀 UDP(User Datagram Protocol)无连接、不可靠、面向报文。 ⭐ UDP 的特点 特点 说明 无连接 无需握手,直接发送 不保证可靠性 不重传、不确认、不保证顺序 面向报文 发一次就是一个独立报文,不拆不并 速度快、开销小 适合实时场景 可以广播和组播 TCP 不支持 📍 适用场景:速度优先、实时性要求高,如:直播、游戏、语音通话、视频...
