【Web】域名与 Cookie 的关系:原理、规则与多级域名共享

TongHttpServer Session亲和性原理与配置实战:解决分布式会话保持难题 在分布式系统和微服务架构中,HTTP协议的无状态特性带来了会话(Session)管理的核心挑战。其原理在于,服务器需要通过Session ID来关联用户的连续请求以维持状态,如登录信息和购物车数据。传统单机内存存储Session的方式在集群环境下会因请求被分发到不同服务器而导致状态丢失。为解决此问题,产生了会话保持(Session Affinity)技术,通过在负载均衡层将同一用户的请求定向至同一后端服务器,确保状态连续性。这项技术的核心价值在于,它无需引入外部共享存储(如Redis),降低了复杂性和延迟, 阅读详情

📌

在 Web 项目中,Cookie 经常用于存储登录状态、用户设置或会话信息。虽然它的存储方式很简单,但 Cookie 与“域名(Domain)”之间的关系常常让人困惑:为什么有的子域能读到 Cookie,有的读不到?为什么换了域名后登录状态就失效?为什么多级域名不一定能共享 Cookie?

理解这些问题的关键,就是Cookie 的 Domain 规则。

本文将用最简洁的方式解释:
Cookie 是什么?为什么要和域名绑定?如何设置?多级域名能否共享 Cookie?以及 Cookie 跨域的完整规则。


1️⃣ Cookie 是什么?

Cookie 是浏览器存储的一小段文本数据,常见用途包括:

  • 登录状态(token、session id)
  • 用户偏好(语言、主题)
  • 分析与统计
  • 业务状态记录

浏览器的行为是:
只要请求的域名满足 Cookie 的 Domain 规则,它就会自动把 Cookie 发送给服务器。

这就是“Cookie 会跟着请求自动携带”的原理。


2️⃣ 为什么 Cookie 必须绑定域名?

出于安全考虑。

如果所有网站都能读同一个 Cookie,会出现:

  • 登录状态被其他网站窃取
  • 个人信息泄露
  • 跨站攻击更加容易

所以浏览器规定:
Cookie 必须属于一个特定的 Domain(域名),且只有满足规则的域名才能访问它。


3️⃣ Cookie 的 Domain 是如何控制访问范围的?

Domain 决定“哪些域名能读/写这个 Cookie”。

例如:

Set-Cookie: token=123; Domain=example.com;

所有以 example.com 结尾的域名都能访问:

✔ 无论域名有几级,只要以 example.com 结尾,就都能访问。


4️⃣ Cookie Domain 的核心规则(最重要部分)

✔ 规则 1:不设置 Domain → 只属于当前域名

在 www.example.com 设置:

document.cookie = "a=1";

Domain 默认是 www.example.com。

其他域名访问不了:

  • × example.com
  • × api.example.com

✔ 规则 2:设置为主域 → 所有子域共享

Set-Cookie: token=abc; Domain=example.com;

以下域名全部可以读取:

✔ 无论几级域名,只要以 example.com 结尾即可。


✔ 规则 3:子域设置 Cookie → 父域无法访问

Set-Cookie: uid=1; Domain=api.example.com;

访问情况:

域名能否访问
api.example.com✔
v1.api.example.com✔
example.com❌
www.example.com❌

子域只能向“更下一级”扩展,而不能向上扩展到主域。


✔ 规则 4:层级数量不重要,只看“后缀匹配”

判断 Cookie 是否可访问的逻辑只有一个:

请求域名.endsWith(cookie.Domain)

例如:

cookie.Domain = example.com
请求域名 = a.b.c.d.example.com

a.b.c.d.example.com 以 example.com 结尾
✔ Cookie 可访问

因此:

❗ 跨 2 级、3 级、5 级域名都没问题,只要是“子域”即可。
❗ 是否能访问 Cookie与域名级数完全无关。


5️⃣ 多级域名 Cookie 共享的清晰总结

假设 Cookie 设置 Domain = example.com:

域名能访问?原因
example.com✔完全匹配
www.example.com✔子域
api.example.com✔子域
a.b.c.d.e.f.example.com✔多级子域

结论:

✔ 五级域名可以访问三级域的 Cookie

✔ 十级域名也可以访问

✔ 只要是子域就可以

❌ 只要不是子域就不可以


6️⃣ 设置共享 Cookie 的正确方式(跨子域常用)

想让所有子域共享 Cookie,例如:

需要设置:

Set-Cookie: token=xxx; Domain=example.com; Path=/; SameSite=None; Secure;

注意:

  • Domain 必须写成主域(example.com)
  • 跨域请求必须设置 SameSite=None; Secure
  • 本地的 localhost 不支持跨子域 Cookie

7️⃣ 常见错误与陷阱

错误情况原因
子域无法访问 CookieDomain 设置过于具体
登录状态跨子域失效Domain 没写成主域
Cookie 设置无效试图设置一级域(如 com),浏览器禁止
跨域请求 Cookie 不带上缺少 SameSite=None; Secure
localhost 不能共享 Cookielocalhost 不是真实域名

🔚 最终总结(最易懂版本)

  1. Cookie 是否能跨多级域名共享,不看域名有几级,只看是否是子域。
  2. 判断规则就是:请求域名是否以 Cookie 的 Domain 结尾。
  3. 主域设置 Cookie → 所有子域(任意多级)都能读。
  4. 子域设置 Cookie → 只能向下共享,不能向上共享。
  5. 跨域场景需要设置 SameSite=None 和 Secure。
  6. localhost 不能做多级域名调试。
CORS配置错误漏洞深度解析:从原理到实战检测与修复 跨源资源共享(CORS)是现代Web应用实现跨域通信的核心安全机制,它通过在HTTP响应头中声明允许访问的源,来在浏览器的同源策略基础上建立可控的访问通道。其原理是服务器通过`Access-Control-Allow-Origin`等头部,明确告知浏览器哪些外部源被授权访问资源。正确的CORS配置对于保护API接口和用户数据安全具有至关重要的技术价值,一旦配置不当,如错误地反射请求中的`Origin`头并允许携带凭证(`Access-Control-Allow-Credentials: true`),就会形 阅读详情

相关推荐

HTTP协议详解:请求响应、转发与重定向的原理与实战

HTTP协议是Web开发的基础,它无状态、明文、可扩展的特性决定了客户端与服务器之间的交互方式。理解请求与响应的报文结构、状态码语义以及Cookie与Session的会话机制,是排查联调问题的前提。转发与重定向是两种完全不同的跳转行为:转发发生在服务器内部,浏览器无感知;重定向则由服务器返回Location头,浏览器再次发起请求,影响地址栏和刷新行为。在实际工程中,登录跳转、表单提交、接口迁移等场景都需要正确选择跳转方式,并留意CORS、Cookie Domain、混合内容等边界问题。掌握curl等工具阅读

weixin_34101914的博客 174

Nginx valid_referer配置实战:从原理到高可用CSRF防御方案

跨站请求伪造(CSRF)是一种常见的Web安全威胁,攻击者利用用户已登录的身份,在用户不知情的情况下执行非授权操作。其核心原理是浏览器会自动携带用户的认证凭证(如Cookie)发起跨站请求。在工程实践中,Nginx的valid_referer指令提供了一种在反向代理层防御CSRF攻击的有效手段,它通过校验HTTP请求头中的Referer或Origin字段,判断请求是否来自可信源。这项技术特别适用于Web应用、API网关等场景,能在请求到达应用服务器前进行低成本拦截。本文将深入解析valid_referer的

weixin_34060741的博客 393

彻底解决Evernote Web Clipper中文环境强制登录问题

浏览器扩展的本地化服务发现机制,旨在根据用户环境自动匹配最佳服务节点,其原理是通过检测浏览器语言、区域设置和域名等参数进行智能决策。这一设计在提升多数用户体验的同时,却给特定场景下的用户带来了困扰——例如身处中文环境却需使用国际服务的用户。从技术实现看,扩展通常将配置信息持久化存储在本地文件中,这为高级用户提供了手动干预的可能。通过直接修改扩展的本地配置文件,可以明确指定服务端点,从而绕过自动决策逻辑。这种方法不仅解决了Evernote Web Clipper在中文浏览器中错误跳转至印象笔记或国际版的问题,

413

cookie的domain属性

欢迎大家光临我的个人博客,详戳 https://545longgege.top/ 最近在改一个bug单时,有个问题涉及到了cookie的domain属性,大致场景是由于不同的服务页面出现了同名的cookie但是domain域不同,导致出现了不可思议的bug。于是查询与cookie的domain属性相关的资料并记录之。 1、什么是Cookie? Cookie是由W3C组织提出,最...

longgege001的博客 9万+

负载均衡核心原理与Nginx/HAProxy实战:从流量分发到高可用架构

在互联网系统架构中,高可用与高性能是永恒的主题。当单台服务器无法承载海量请求时,如何将流量科学地分发到多台后端节点,成为保障服务稳定性的关键。负载均衡作为流量调度的核心组件,通过调度算法、健康检查与会话保持等机制,有效解决单点压力、单点故障与弹性伸缩问题。四层与七层负载均衡分别基于传输层与应用层工作,适用于不同业务场景。Nginx与HAProxy作为业界主流的开源软件,分别擅长七层HTTP路由与四层TCP转发,是构建高可用架构的重要工具。从概念原理到配置验证,再到故障排查与工程实践,负载均衡在真实架构中贯穿

weixin_34043301的博客 442

数据结构:五岔路口交通管理红绿灯设计

我们可以知道这是一个“图”的着色问题,首先要考虑,为什么可行路线是13条?当然可以通过穷举得出,如果用公式:则是: 或者 因为一条路线必须包括一出一进两个方向 第一种答案的解法: 一、固定E为入口,则有C_4^1=4的可能; 二、除去E(因为E只有一个入向),剩下ABCD四个路口,然后因为C只有一个出方向,所以从剩下 的ABD中选择一个入口,即C_3^1; 三、再从剩下的三个出口任选

潘猫猫的世界 1万+

浅析cookie之domain篇

浅析cookie之domain篇

a7442358的专栏 3209

手把手教学,Python 游戏编程之实现飞机大战(含源代码)

我想大家都是有玩过类似飞机大战的射击类游戏,也享受目标被消除通过后带来的愉悦感。那么如果用Python来实现飞机大战游戏?下面就跟大家一起用Python来做一个小游戏,不仅可以从中感受到乐趣,还可以提升自己的能力。

veratata的博客 1万+

浏览器cookie共享之同一域名下的不同子域名之间共享

本文介绍了在Web开发中,如何实现在同一域名下的不同子域名之间共享cookie。首先,解释了cookie的定义和作用。然后,介绍了在设置cookie时设置域名属性或使用顶级域名作为cookie的域名的方法。在实现此技术时,需要注意安全性和正确性,例如设置cookie的路径属性和过期时间,以及避免不同子域名之间cookie的相互覆盖等问题。最后,强调了在同一域名下的不同子域名之间共享cookie的重要性和优点。

JudithHuang的博客 1万+

LLVM 编译器学习笔记之三十六-- 指令调度Instruction scheduling

1、参考Instruction scheduling in LLVM - 知乎,在中后端均存在指令调度 指令调度模型 2、在llvm12->llvm14 中Machine Instruction Scheduler有个patch增强了load/store指令的合并,也就是指令调度不仅仅只是改变指令的顺序,该优化类似gcc中的store-merge优化 .....................................................................

~ 飞 扬 的 天 空 ~ 5688

解锁RK3588视觉潜能:RGA硬件加速库实战指南

本文深入探讨了如何利用RK3588芯片内置的RGA硬件加速库,解决视觉应用中图像预处理的性能瓶颈。通过实战指南,详细介绍了RGA库在YUV转RGB、图像缩放等核心操作上的应用,相比CPU软处理可大幅降低延迟与CPU占用,从而充分释放RK3588的NPU算力,构建高效的AI视觉预处理流水线。

zeta9的博客 669

正确使用cookie中的domain

 看规则,尝试使用规则,记录问题,多次使用使之熟练。今天发现vue中的this.$router.push()不熟悉了。做记录并不代表不会忘,只是为了能够理清逻辑,加深印象。 本文内容有复制粘贴其他博主的内容,在此谢过了。 问题: 今天遇到一个不新但是不常用的技术:cookie。做统一登录平台,要求实现统一登录平台登录之后,其他平台都可以直接登录进入登录状态,不用再登录了。他们提的技术方案是用...

寬真 3万+

基于STM32设计的智能手环(ESP8266+华为云IOT)_178

为了满足用户对健康监测的需求,手环项目集成了血氧检测、心率检测、体温检测等功能。这些功能采用了专门的传感器模块,如MAX30102、DS18B20等,确保了测量数据的准确性和可靠性。同时,为了方便用户了解自己的运动情况,项目还加入了行走步数统计功能,通过MPU6050模块实现精确计步。

2402

Cookie

一、 Cookie Cookie是服务器发送到用户浏览器并保存在本地的一小块数据,它会在浏览器下次向同一服务器再发起请求时被携带并发送到服务器上。通常,它用于告知服务端两个请求是否来自同一浏览器,如保持用户的登录状态。Cookie 使基于无状态的HTTP协议记录稳定的状态信息成为了可能。 Cookie主要用于以下三个方面: 会话状态管理(如用户登录状态、购物车、游戏分数或其它需要记录的信息) 个性化设置(如用户自定义设置、主题等) 浏览器行为跟踪(如跟踪分析用户行为等) 二、Cookie的一些属性

qq_30436011的博客 2223

【01】总目录——软件设计师50讲通关地图|从零基础到工程师职称

本文是《软件设计师·50讲通关|从零基础到工程师职称》专栏的01篇总目录,系统梳理了50篇博文的完整架构与核心逻辑。专栏覆盖软考软件设计师(中级)全部考点,分为导学规划、基础知识、设计模式、下午题专项、算法实战、冲刺模拟、收官进阶七大模块,既兼顾上午题75道单选题的理论攻坚,也聚焦下午题案例分析的解题能力提升。每篇博文均包含考点精讲、真题解析、实战技巧与速记方法,配套可运行代码、解题模板及备考资源。无论你是零基础转行、在校学生还是在职程序员,都能通过这份学习地图明确进度、精准定位薄弱环节,高效搭建知识体系

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1279

R3LIVE项目实战(3) —双目相机与激光雷达 lidar_camera_calib联合标定

lidar_camera_calib是一个在无目标环境中,用于高分辨率LiDAR(例如Livox)和摄像机之间准确的外部标定工具。我们的算法可以在室内和室外场景中运行,并且只需要场景中的边缘信息。如果场景适合,我们可以实现类似于或甚至超过基于目标的方法的像素级准确度。我们使用标定的外部参数给点云上色,并与实际图像进行比较。A和C是点云的局部放大视图。B和D是与A和C中的点云对应的摄像机图像的部分。

几度春风里的博客 4057

Flutter 三方库 public_suffix 的鸿蒙化实战 - 精准域名解析与网络安全隔离

摘要:本文介绍了Flutter三方库public_suffix在鸿蒙平台的适配应用,该库基于Public Suffix List实现精准域名解析,能有效识别公共后缀和私有根域。文章详细解析了其核心原理、鸿蒙适配方法、API使用及典型应用场景,如Webview Cookie安全隔离和域名黑白名单过滤。通过实战代码演示了如何在鸿蒙应用中实现域名层级拆解,为开发者提供了构建安全网络应用的有效工具。该库能帮助开发者规避安全漏洞,实现精准的同源判定,是鸿蒙网络应用开发的理想选择。

2601_95372465的博客 403

【30】软考软件设计师——UML类图与用例图满分精讲|下午第3题常考核心

本文是《软件设计师·50讲通关|从零基础到工程师职称》专栏第30篇,聚焦**模块四:应用技术(下午题)第3道高频大题**,UML建模是历年下午必考核心,单题分值稳定10~12分。全文深度拆解两大核心UML图表:**类图**与**用例图**,超详细讲解类图三层结构、可见性修饰符、五大核心关系(泛化/关联/依赖/聚合/组合)的判定标准与绘图规范;吃透用例图参与者、系统边界、三大关系(包含/扩展/泛化)的底层逻辑,搭配独家**关系秒杀口诀、标准绘图模板、真题改错技巧**;全文适配补图、判断关系、分析场景、纠错优化

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 572

从域名分级到Linux内核分层:VFS拦截read/write与透明加密实战

分层命名与分层控制是计算机系统中管理复杂度的通用设计哲学。域名体系通过一级、二级、三级域名的层级结构,将全球资源定位分解为逐级查找;Linux内核则借助VFS虚拟文件系统层,把read/write等系统调用抽象为统一的file_operations接口,屏蔽底层ext4、XFS等具体文件系统的差异。这种分层解耦机制的核心技术价值在于:上层无需感知下层实现,下层可独立演进。在透明加密、访问审计等场景中,开发者可通过自定义file_operations或LSM框架在内核层拦截read/write操作,实现数据落

weixin_33226548的博客 247

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

aiohttp 1.1 核心特性解读:YARL URL 处理、子应用与应用冻结机制

本文基于 aiohttp 官方 1.1 版本变更记录 [docs/whats_new_1_1.rst](https://link.gitcode.com/i/b62503dffc6d23a902c2414754fc08de),系统讲解该版本引入的三大核心能力:全面切换到 YARL 库进行 URL 处理与自动编码、支持通过前缀挂载子应用(Sub-Applications)以拆分大型单体代码库、以及应

gitblog_00196的博客 1017

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Quantum Route Redirect工具对Microsoft 365钓鱼攻击的自动化机制与防御对策研究

2025年11月,安全厂商KnowBe4披露了一款名为“Quantum Route Redirect”的新型钓鱼工具,该工具作为Quantum PhaaS平台的核心组件,专为针对Microsoft 365租户的全球性钓鱼攻击设计。更值得关注的是,部分变体已集成会话Cookie捕获与转发功能,使攻击者在获取初始凭证后,可直接复用有效会话令牌,绕过基于短信或认证器App的MFA验证。因此,深入理解Route Redirect的技术实现机制,并构建针对性防御策略,已成为企业云安全治理的紧迫课题。

1069

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

【Linux之旅】HTTP 协议解析:从请求格式到构建 Web 服务器

本文将从 HTTP 协议的请求/响应格式出发,逐一拆解 URL、请求方法、状态码、常用 Header、Connection 长连接等核心概念,亲手实现一个支持 GET 和 POST 的最简 HTTP 服务器,并逐步扩展为能返回静态文件、解析表单数据的功能完备的 Web 服务器。读完本文,你将彻底理解 HTTP 协议的底层约定,并能从头写出一个可被浏览器访问的真实 Web 后端。

2302_80243065的博客 2322

Wayback Machine 浏览器扩展完全指南:Internet Archive 官方时光机插件的功能原理与源码剖析

Internet Archive(互联网档案馆)官方出品的 **Wayback Machine 浏览器扩展**(本仓库 wayback-machine-webextension)是一款跨 Chrome、Firefox、Edge 与 Safari 14+ 的浏览器扩展,让你在浏览网页时随时"穿越回过去":一键将当前页面存档进 Wayback Machine、查看某个网站最古老或最新的快照、在遇到 4

gitblog_00062的博客 442

16.【网络】NAT 技术、代理服务与内网穿透:原理、缺陷及应用场景全解析

摘要: NAT技术通过私有IP与公网IP的转换缓解IPv4地址不足问题,核心包括地址转换(NAPT)和映射表维护,但存在外网无法主动连接内网、资源开销大等缺陷。代理服务器分为正向代理(客户端侧)和反向代理(服务端侧):正向代理实现缓存加速、访问控制及客户端隐藏,适用于企业内网管理;反向代理提供负载均衡、安全防护及缓存加速,是高并发网站和业务系统的关键组件。两者分别从客户端和服务端优化网络通信与安全。

恢弘志士之气,不宜妄自菲薄 1102

Web后端开发全景:从Spring Boot到部署运维的工程实践指南

在数字化业务快速迭代的今天,Web后端作为连接前端与数据服务的核心枢纽,其技术体系涵盖接口设计、数据存储、安全防护与部署运维等多个层面。理解HTTP请求如何经过网关、业务逻辑、缓存与数据库的完整链路,是构建稳定系统的基石。基于Java生态,Spring Boot凭借自动配置与丰富的工具链(如IDEA、Maven)成为主流选择,而前后端分离架构下的跨域处理、Token认证及敏感数据加密(如AES盐值管理)则是工程落地中的常见挑战。随着容器化普及,Docker Compose部署与监控告警已成为必备技能。对于开

weixin_34174105的博客 316

计算机三座大山:组成原理、操作系统与网络的底层逻辑

在程序员的成长路径中,理解计算机底层原理是突破技术瓶颈的关键。计算机组成原理揭示硬件如何执行指令,操作系统作为资源管家管理进程、内存与文件,计算机网络则通过分层协议让数据跨越设备互联。从补码运算到虚拟内存映射,从TCP三次握手到HTTP请求,每一层设计都蕴含着性能与稳定的权衡。掌握这些基础不仅能帮助排查线上问题,更能为分布式系统、性能优化等高阶领域打下根基。组成原理、操作系统、网络,正是计算机世界的三座大山,值得每个开发者结合命令与工具实验,深入理解其设计精髓,建立系统全局观。

weixin_34235457的博客 439
上一篇: 【Web】sed 流编辑器在前端部署中的作用
下一篇: 【Web】证书(SSL/TLS)与域名之间的关系:完整、通俗、可落地的讲解
ganshenml
博客等级 码龄16年 445粉丝 108原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ganshenml

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值