Cookie之domain

简介: 本以为我对cookie这个小玩具已经很了解,后来才发现,只是皮毛罢了,还需要继续学。

 本以为我对cookie这个小玩具已经很了解,

后来才发现,只是皮毛罢了,还需要继续学。

目录

问题一:

1. 顶级域名(.com/.cn/.org 等):解决 “资源分类” 问题

2. 二级域名(如doubao.com中的 “doubao”):解决 “实体标识” 问题

3. 三级及以上域名(如www.doubao.com中的 “www”):解决 “内部资源细分” 问题

4.拓展

问题二:

普通登入:

“记住我” 登入:


问题一:

cookie的域名(domain)设成.com,那是不是123.com的域名也能访问

答案是不行的。

因为.com是公共后缀。

Cookie 的域名不能直接设为 .com (浏览器会禁止),且不同二级域名(如123.com和456.com)的 Cookie 无法互通。

其实我是想借此引出以下知识点。

我是以www.doubao.com为例的:

域名片段 官方名称 层级定位 说明
.com 顶级域名(TLD) 一级域名 属于 “通用顶级域名”(gTLD),是互联网的顶层分类之一(类似的还有 .cn.org 等),不是 “拓展域名”
doubao 二级域名(SLD) 核心注册域名 这是在域名注册商(如阿里云、腾讯云)处实际注册的 “主体”,比如 “doubao.com” 是注册的完整基础域名,不是 “一级域名”
www 三级域名 子域名 是在 “doubao.com” 这个二级域名下,自行配置的子域名(用于指向网站的 “www 服务”),类似的子域名还可以是 blog.doubao.comapi.doubao.com 等。

域名分级的根本目的起初是为了解决 “全球资源定位与管理” 问题

1. 顶级域名(.com/.cn/.org 等):解决 “资源分类” 问题

顶级域名(一级域名)是互联网的 “顶层分类标签”,核心作用是按 “类型” 或 “地域” 划分资源池,方便全球统一管理:

  • 按类型分:.com(商业机构)、.org(非营利组织)、.edu(教育机构)、.gov(政府机构)等;
  • 按地域分:.cn(中国)、.jp(日本)、.uk(英国)、.us(美国)等。

比如用户看到.edu就知道是教育网站,看到.cn就知道是中国的网站,无需记住复杂的 IP 地址,降低认知和管理成本。

2. 二级域名(如doubao.com中的 “doubao”):解决 “实体标识” 问题

二级域名是企业 / 个人在 “顶级域名下” 注册的 “专属标识”,核心作用是唯一区分某个具体实体

  • 每个二级域名 + 顶级域名的组合(如doubao.comtaobao.com)在全球是唯一的,相当于互联网上的 “门牌号码”;
  • 用户通过二级域名就能关联到具体品牌(比如看到 “doubao.com” 就知道是豆包相关服务),实现 “品牌与地址绑定”。

3. 三级及以上域名(如www.doubao.com中的 “www”):解决 “内部资源细分” 问题

三级域名(子域名)是注册者在 “二级域名下” 自行创建的,核心作用是对自身内部的资源 / 服务进行细分管理,无需额外向域名商注册,灵活度极高:

  • 按 “功能模块” 分:www.doubao.com(官网首页)、api.doubao.com(接口服务)、blog.doubao.com(博客板块)、mail.doubao.com(邮件服务);
  • 按 “业务线” 分:user.doubao.com(用户中心)、pay.doubao.com(支付服务)、shop.doubao.com(电商板块);
  • 按 “环境” 分:test.doubao.com(测试环境)、prod.doubao.com(生产环境)。

这种细分让内部资源结构更清晰,也方便用户 / 系统快速定位到具体服务(比如调用接口就找api.xxx.com,访问博客就找blog.xxx.com)。

4.拓展

特殊情况

大家可以通过这一段代码分析具体情况

if net.ParseIP(host) != nil {
    // 情况1:IP地址访问
    c.SetCookie(name, value, maxAge, "/", "", false, true)
} else {
    // 情况2:域名访问  
    c.SetCookie(name, value, maxAge, "/", host, false, true)
}

image.gif

两种情况对比:

访问方式 host值 domain参数 原因
IP地址 192.168.1.100 "" (空字符串) IP不能作为Cookie域名
域名 myblog.com "myblog.com" 域名可以作为Cookie域名

微服务

微服务架构的核心是 “将一个大型应用拆分为多个独立的小服务”(如用户服务、订单服务、支付服务),而多级域名恰好能为这些独立服务提供 “清晰的访问入口”。

所以微服务也就可以借助域名分级的特性,更轻松的实现以上功能。

可惜现在还没真正的着手开发过一个微服务架构的项目,等我后面学习了,在补充一下。

问题二:

一般在登入的时候,点击记住我时,是记住了cookie吗?还是怎么的?

普通登入:

服务器通常会生成一个短期有效的令牌

“记住我” 登入:

当用户勾选 “记住我” 时,服务器会生成一个长期有效的认证凭证,cookie的过期时间会设置的远些。

如图:

image.gif

目录
相关文章
|
3月前
|
设计模式 Java Go
Go中的switch的8种使用场景:没有你想的那么简单
在 Go 中灵活使用 switch,可以使代码更清晰、更易维护。 switch 是 Go 中不可或缺的控制结构之一
926 0
|
3月前
|
存储 缓存 安全
Go map 底层原理
虽然大家天天都在用 `map`,但很多人对它的理解只停在“查得快”“底层是哈希表”“桶里有 8 个槽位”这几句。或许跟别人吹牛的时候,还有几分用处;但真到线上排查延迟抖动、锁竞争、内存占用、热点键冲突,这点认识往往是不够的。
328 1
|
3月前
|
算法
动态规划之完全背包
本文详解完全背包问题:作为动态规划经典题型,区别于01背包(每物限选1次),其特点是每种物品可无限次选取。文章从定义、状态转移方程(dp[i][j] = max(dp[i-1][j], dp[i][j-w]+v))、二维/一维实现到遍历顺序对组合数与排列数的影响,结合零钱兑换II、组合总和IV等5道典型例题深入剖析,助力掌握核心思想与编码技巧。
272 1
|
3月前
|
缓存 安全 测试技术
GO项目开发规范文档解读
本篇博客的目的,更多是为快速翻阅与回忆使用。
265 1
|
3月前
|
算法 自动驾驶 安全
【路径规划】在二维和三维空间中实现RRT_算法,根据障碍物位置和尺寸实现的避障功能附matlab代码
✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 🍎 往期回顾关注个人主页:Matlab科研工作室 👇 关注我领取海量matlab电子书和数学建模资料 🍊个人信条:格物致知,完整Matlab代码获取及仿真咨询内容私信。 🔥 内容介绍 一、路径规划与避障的重要性 在机器人运动控制、自动驾驶、无人机导航等众多领域,路径规划与避障是关键技术。例如,在工业机器人的操作场景中,机器人需要在复杂的工作空间内,从起始点运动到目标点,同时避开各种障碍物,如生产设备、固定支架等,以确保生产任务
|
3月前
|
存储 安全 前端开发
双Token的致命漏洞,你的系统安全吗?
你的双Token实现真的安全吗?很多人不知道,经典的双Token方案中其实藏着致命的漏洞。
290 2
|
3月前
|
存储 缓存 安全
一文带你读懂 Go 1.24 map 重构了什么?
本文聚焦 Go 1.24 map 底层重构,解释它如何从旧版 bucket + overflow 方案,演进为 Swiss Table + 局部 split 的新结构,以及它所带来的性能提升。
289 1
一文带你读懂 Go 1.24 map 重构了什么?
|
3月前
|
数据处理 算法框架/工具 开发者
UUV_AUV六自由度水下航行器动力学模型(运动学+动力学+扰动)仿真(带说明资料)
✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 🍎 往期回顾关注个人主页:Matlab科研工作室 👇 关注我领取海量matlab电子书和数学建模资料 🍊个人信条:格物致知,完整Matlab代码获取及仿真咨询内容私信。 🔥 内容介绍 一、基于刚体运动学和 Newton - Euler 方程推导运动方程 刚体运动学基础: 二、水下航行器基本受力分析 推进力:通常由 AUV 上的推进器产生,如螺旋桨、喷水推进器等。推进力的大小和方向取决于推进器的类型、转速以及工作模式。推进
|
3月前
|
人工智能 安全 Linux
OpenClaw Skills深度解析:阿里云/本地部署+大模型api接入,构建可扩展AI Agent能力平台
OpenClaw(曾用名Clawdbot、Moltbot)是一款MIT开源协议的自托管AI Agent网关,可将Discord、Telegram、iMessage等通讯工具与主流大模型对接,实现轻量化AI助理部署。其核心竞争力在于**Skills技能系统**,截至2026年2月,ClawHub已收录超13700个社区技能,成为AI Agent生态的核心扩展载体。
823 0
|
3月前
|
存储 数据库连接 Go
项目跑起来之前的那些事
项目运行前都需要怎么设计?做那些准备呢?本篇博客将会拆解 Go 应用启动的核心代码逻辑
124 1