【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

手把手教你解决Ubuntu 20.04虚拟机桥接模式下的网络问题:DHCP与静态IP配置全指南

本文详细解析了Ubuntu 20.04虚拟机在桥接模式下的网络配置问题,包括DHCP与静态IP的配置方法及常见故障排查技巧。通过深入讲解桥接模式原理和提供实战操作指南,帮助用户解决无法访问外网、ping不通等典型网络问题,实现虚拟机与物理网络的无缝连接。

weixin_29256771的博客 543

浅析cookie之domain篇

浅析cookie之domain篇

a7442358的专栏 3209

CVAT自动标注避坑指南:从nuctl安装到YOLOv5模型部署的完整流程

本文详细介绍了在CVAT中部署YOLOv5自动标注功能的完整流程与避坑指南。重点解决了从nuctl工具安装、项目创建时因网络问题导致的镜像拉取失败,到最终模型函数部署与CVAT集成的关键步骤。针对国内网络环境,提供了实用的镜像替换方案,帮助用户顺利完成基于CPU的自动化标注环境搭建。

pytorch8learner的博客 229

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

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

JudithHuang的博客 1万+

深入解析 RLHF(Reinforcement Learning from Human Feedback)

随着人工智能(AI)技术的快速发展,大规模语言模型(如 OpenAI 的 GPT、Anthropic 的 Claude 等)已经能够生成高质量的文本。RLHF 是一种基于强化学习(Reinforcement Learning, RL)的优化方法,它结合人类反馈(Human Feedback)来训练奖励模型(Reward Model, RM),进而优化语言模型的生成策略。整个强化学习的目标是找到最优策略 π∗\pi^*π∗,使得模型在与环境交互的过程中,最大化累积奖励。RLHF 是一种结合强化学习(RL)

lqq 1771

EDA的未来:当AI与Cadence Virtuoso相遇

本文探讨了AI技术与Cadence Virtuoso在EDA领域的融合,展示了如何通过生成式AI提升芯片设计效率。文章详细分析了Virtuoso设计环境的智能化演进、AI驱动的设计辅助功能实现路径,以及SKILL语言的进化方向,为工程师提供了未来EDA工具的发展趋势和实用案例。

weixin_28312391的博客 650

正确使用cookie中的domain

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

寬真 3万+

使用Docker搭建MaxKB智能体平台

【代码】使用Docker搭建MaxKB智能体平台。

janthinasnail的博客 708

Cookie

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

qq_30436011的博客 2223

从零到一:ASTER L2数据获取的实战避坑指南

本文提供了一份详细的ASTER L2数据获取实战指南,涵盖账号注册、环境配置、数据检索、下载故障排除及后处理等关键步骤。特别针对NASA EarthData平台的隐形门槛和常见陷阱,给出了实用解决方案,帮助科研新手高效获取地表温度数据,适用于环境监测和城市热岛效应分析等领域。

weixin_29061425的博客 519

【赛题解析&命令脚本配置】2023年全国职业院校技能大赛GZ073网络系统管理赛项赛题第9套模块A:网络构建 & (三)无线网络配置+(四)出口网络配置-命令配置

【赛题解析&命令脚本配置】2023年全国职业院校技能大赛GZ073网络系统管理赛项赛题第9套模块A:网络构建 & (三)无线网络配置+(四)出口网络配置-命令配置

君逍遥o 1018

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

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

2601_95372465的博客 403

汽车IVI中控开发入门及进阶(三十八):手机投屏HiCar开发

为了兼容这部分手机,车机端在向手机端发送USB控制命令字的同时,需要启动mDNS Server,广播车机端IP地址和HiCar SDK侦听的Server Socket端口(IP地址和端口在HiCar SDK初始化USB driver时,告知车机),在检测到手机断开USB连接时关闭mDNS Server。厂商在集成HiCar SDK开发HMI应用时,不可避免会使用到智能座舱的敏感权限,例如位置权限、摄像头权限、麦克风权限等,SDK初始化时,厂商HMI应用需要设置必要的车机参数供SDK使用。

码农17年的博客 1075

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

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

weixin_33226548的博客 247

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

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

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

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

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

1069

【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、付费专栏及课程。

余额充值