公共后缀和站点域
公共后缀(Public Suffix)和站点域(Site Domain)是域名层级体系中的两个重要概念,通常用于解释互联网域名的组织方式,以及域名在浏览器、搜索引擎等系统中的处理方式。以下是两者的详细介绍和例子:
1. 公共后缀(Public Suffix)
定义:公共后缀指的是域名的末尾部分,通常由顶级域(TLD)或特定国家/地区代码(ccTLD)加上少量层级组成。公共后缀由公共后缀列表(Public Suffix List)定义,用于识别哪些域名部分属于公共资源,这样浏览器等系统可以知道在这些后缀层级之上是各个独立的网站。
这也就是说,怎么判断一个域名的后面哪一部分是公共后缀呢?方法就是去表里面查,有就是,没有就不是。但是我们通常不用查表也可以简单判断。
作用:公共后缀的主要作用是为了确保浏览器或其他服务能够正确处理 cookie、域隔离、安全策略等。例如,.com
、.org
、.co.uk
、.edu.cn
等都是公共后缀。
举例:
- 简单公共后缀:如
.com
、.net
、.org
、.edu
- 国家/地区代码顶级域(ccTLD)+额外层级:如
.co.uk
、.com.cn
、.gov.uk
在这些公共后缀上,不能直接设置 cookie 或创建同源策略,因为这些后缀下的子域名通常属于不同的组织或个人。
2. 站点域(Site Domain)
定义:站点域是指公共后缀之上一级的域名,它是整个域名中实际代表独立网站的部分。站点域通常是在公共后缀前的一级域名部分,也就是“主域名”。这个域名下可以包含多个子域名,但它们都属于同一个站点。
作用:站点域通常用于确定一个实际网站的边界,即在同一个站点域下,多个子域名可以共享 cookie、资源等。例如,在example.com
的站点域名下,www.example.com
和blog.example.com
都属于同一个站点。
举例:
- 主域名作为站点域:
- 对于
example.com
,站点域是example.com
- 对于
mywebsite.org
,站点域是mywebsite.org
- 对于
- 包含公共后缀的情况:
- 对于
example.co.uk
,站点域是example.co.uk
- 对于
university.edu.cn
,站点域是university.edu.cn
- 对于
综合实例说明
假设有以下几个完整域名:
shop.example.com
blog.example.co.uk
service.university.edu.cn
它们的公共后缀和站点域如下:
完整域名 | 公共后缀 | 站点域 |
---|---|---|
shop.example.com |
.com |
example.com |
blog.example.co.uk |
.co.uk |
example.co.uk |
service.university.edu.cn |
.edu.cn |
university.edu.cn |
实际应用中的重要性
-
Cookie 管理:浏览器使用公共后缀来确定可以共享的 cookie 范围。例如,
example.com
可以设置shop.example.com
和www.example.com
间共享的 cookie,但不能在example.co.uk
和example.com
之间共享 cookie。 -
安全策略:公共后缀列表有助于浏览器制定安全策略,防止不同站点之间的安全性问题,比如同源策略的应用。
公共后缀和站点域在域名解析、安全设置、浏览器策略中都扮演了关键角色,确保了网站的隔离性和资源共享的灵活性。