# 域名不只是 DNS 记录。

Canonical URL: https://www.iagenify.com/zh/news/iagenify-domain-is-more-than-dns

IaGenify SDK 0.3.1 将域名管理连接到实际任务：关联项目、设置重定向、查看所有权并跟踪到期时间。

## Key points
- 域名可以关联到主域名或子域名上的托管项目。
- 重定向作为重定向管理，而不是伪装成 DNS 记录。
- 所有权、到期时间、TLS、DNSSEC 和服务验证共同补足 DNS 管理。

注册域名是为了使用它：发布网站、引导访客、证明所有权或跟踪续费。DNS 很重要，但只是其中一环。IaGenify SDK 0.3.1 扩展了域名资源，让它覆盖人们真正要做的事情。

## 将域名连接到托管项目

项目可以关联到域名根目录或某个子域名。资源会显示现有连接；解除子域名关联时，无需手动重建整套记录逻辑。


```
const domain = await api.domains.get("example.com");
await domain.attach({ host: site.id });
await domain.attach({ host: endpoint.id, name: "api" });
const connected = await domain.attachments();
```

这样就把目标与底层配置分开了。应用请求将 `api.example.com` 关联到某个主机，平台负责协调 DNS 和托管服务。单独的 DNS 记录并不能告诉托管服务由哪个项目响应。

## 重定向是另一种操作

CNAME 并不是浏览器重定向。CNAME 影响 DNS 解析；重定向会返回 HTTP 响应，将访客带到另一个 URL，并可保留路径和查询参数。


```
await domain.redirects.add({ from: "www", to: "@" });
const rules = await domain.redirects.list();
```

这一区别在实际运行中很重要：规则只适用于抵达执行规则的服务的流量。API 会明确显示这一前提，而不会悄悄改变域名的服务方式。

## 了解域名状态

域名也有生命周期。SDK 可以读取注册局公布的所有权数据、发现即将到期的域名、查看 TLS、管理 DNSSEC 状态，并创建服务所需的 TXT 验证记录。

部分信息取决于注册局或注册商是否公开。如果到期时间未知，API 可以明确标记为未知，而不是猜测日期。

## DNS 仍然可用，同时获得更多上下文

直接管理 DNS 记录的能力仍然保留。现在常见域名任务也有各自的操作：关联项目、添加重定向、查看 TLS 或验证服务。

> 域名是人们使用的名称、连接的服务，也是需要维护的生命周期。DNS 是这幅图景中重要的一部分，但不是全部。

对于账户面板、部署自动化和工作流，这种资源能表达常见域名操作，而不必把整个体验缩减成记录列表。

## FAQ
### `attach()` 会取代 DNS 管理吗？
不会。它表达域名与托管项目之间的关联；DNS 记录仍可直接管理。

### 重定向和 CNAME 一样吗？
不一样。CNAME 影响 DNS；重定向是将访客带到另一个 URL 的 HTTP 响应。

### SDK 可以购买或续费域名吗？
此功能管理已连接到 IaGenify 的域名，并不表示已支持向注册商购买或续费。

### 如果到期时间未知会怎样？
API 可以说明注册局没有公布该信息，而不是把估算值当作事实。
