Комментарии (1)
🐱
claude-haiku-4.5PrepBro AI23 мар. 2026 г.(ред.)
Ответ сгенерирован нейросетью и может содержать ошибки
Доменное имя (Domain Name)
Доменное имя — это человеко-читаемый адрес в интернете, который преобразуется в IP-адрес. Вместо запоминания цифр 93.184.216.34, мы используем легко запоминаемое имя example.com.
Структура доменного имени
https://www.example.com:8080/path
├─ www — subdomain (поддомен)
├─ example — second-level domain (SLD)
├─ .com — top-level domain (TLD)
└─ com — extension (расширение)
Уровни снизу вверх:
com (TLD) ← Управляется организацией (ICANN)
└─ example ← Ваш домен
└─ www ← Поддомен
└─ mail ← Поддомен
Полная иерархия DNS
Root Domain (.)
├─ TLD: com (.com)
│ ├─ example.com
│ │ ├─ www.example.com
│ │ ├─ mail.example.com
│ │ └─ api.example.com
│ └─ google.com
│ └─ maps.google.com
├─ TLD: org (.org)
│ └─ wikipedia.org
└─ TLD: ru (.ru)
└─ yandex.ru
Типы доменных имён
1. Top-Level Domain (TLD) — Верхние уровни
# gTLD — Generic TLDs (общие)
.com # Commercial (коммерческие)
.org # Organization (организации)
.net # Network
.info # Information
.biz # Business
.co # Company
# ccTLD — Country Code TLDs (национальные)
.ru # Russia
.uk # United Kingdom
.de # Germany
.fr # France
.cn # China
.jp # Japan
# Новые TLDs (nTLDs)
.tech # Tech компании
.io # Начально Индийский океан, сейчас для стартапов
.app # Для приложений
.dev # Для разработчиков
2. Second-Level Domain (SLD) — Ваше имя
example.com
└─ "example" это SLD
└─ Вы платите за право владеть этим
3. Subdomain (Поддомены) — Ветви
www.example.com → www это поддомен
api.example.com → api это поддомен
mail.example.com → mail это поддомен
blog.example.com → blog это поддомен
staging.api.example.com → staging и api это поддомены (многоуровневые)
# Поддомены можно создавать бесплатно (указав DNS записи)
Как работает преобразование имени в IP (DNS)
1. Вводишь в браузер: google.com
2. Браузер спрашивает локальный DNS resolver:
"Какой IP у google.com?"
3. Resolver спрашивает Root nameserver:
"Где .com?"
Ответ: "Спроси у 13 TLD nameservers"
4. Resolver спрашивает один из TLD nameservers:
"Где google.com?"
Ответ: "Спроси у Google nameservers"
5. Resolver спрашивает Google nameserver:
"Какой IP у google.com?"
Ответ: "93.184.216.34"
6. Браузер знает IP, подключается к серверу
DNS записи
У каждого доменного имени есть набор DNS записей:
# A запись — преобразует домен в IPv4
example.com A 93.184.216.34
# AAAA запись — преобразует домен в IPv6
example.com AAAA 2606:2800:220:1:248:1893:25c8:1946
# CNAME запись — создаёт alias (псевдоним)
www.example.com CNAME example.com # www указывает на example.com
api.example.com CNAME api-server.example.com
# MX запись — указывает почтовый сервер
example.com MX 10 mail.example.com
# NS запись — указывает nameservers (управление доменом)
example.com NS ns1.example.com
example.com NS ns2.example.com
# TXT запись — произвольные текстовые данные
example.com TXT "v=spf1 include:_spf.google.com ~all" # SPF для почты
example.com TXT "google-site-verification=.." # Верификация Google
Практический пример: управление доменом
# Предположим, ты зарегистрировал example.com у Namecheap
# 1. Регистратор даёт тебе доступ к DNS панели
# 2. Ты добавляешь DNS записи:
A запись: example.com -> 192.168.1.1 # Основной сервер
A запись: www.example.com -> 192.168.1.1
CNAME: www.example.com -> example.com # или через CNAME
MX запись: example.com -> mail.google.com (если используешь Gmail)
TXT запись: SPF, DKIM, DMARC (для безопасности почты)
# 3. Твой веб-сервер слушает на 192.168.1.1
# 4. Когда кто-то вводит example.com → браузер делает DNS запрос
# 5. DNS возвращает 192.168.1.1
# 6. Браузер подключается к серверу
Регистрация доменного имени
Количество уровней:
1. Регистраторы доменов (Domain Registrar)
- GoDaddy, Namecheap, Enom, etc.
- Они продают .com, .org, .ru и др.
- Платишь ежегодно (~$10-15/год за .com)
2. Регистр (Registry)
- VeriSign (управляет .com)
- Rosreestr (управляет .ru)
- Они хранят базу всех доменов
3. ICANN (Internet Corporation for Assigned Names and Numbers)
- Центральная организация
- Управляет корневыми nameservers
- Выпускает новые TLDs
Поддомены в веб-приложениях
from fastapi import FastAPI, Header
from starlette.requests import Request
app = FastAPI()
@app.get("/")
async def index(request: Request):
# Получить текущий хост
host = request.headers.get('host')
print(host) # example.com или api.example.com или www.example.com
# Определить, какой это поддомен
subdomain = host.split('.')[0] if host else None
if subdomain == 'api':
return {"message": "API endpoint"}
elif subdomain == 'mail':
return {"message": "Mail interface"}
else:
return {"message": "Main website"}
# Можно использовать для маршрутизации:
# api.example.com -> API endpoints
# mail.example.com -> Mail application
# www.example.com -> Frontend
Настройка DNS на Python
import dns.resolver
# Получить A запись (IP адрес)
responses = dns.resolver.resolve('example.com', 'A')
for rdata in responses:
print(f"IP: {rdata}")
# Получить MX запись (почтовый сервер)
mx_records = dns.resolver.resolve('example.com', 'MX')
for mx in mx_records:
print(f"Mail server: {mx.exchange} (priority: {mx.preference})")
# Получить TXT запись
txt_records = dns.resolver.resolve('example.com', 'TXT')
for txt in txt_records:
print(f"TXT: {txt}")
# Проверить NS (nameservers)
ns_records = dns.resolver.resolve('example.com', 'NS')
for ns in ns_records:
print(f"Nameserver: {ns}")
Основные концепции
Домен vs Поддомен:
example.com (домен)
├─ www.example.com (поддомен)
├─ api.example.com (поддомен)
└─ mail.example.com (поддомен)
FQDN (Fully Qualified Domain Name):
mail.google.com
├─ mail — hostname
├─ google — domain
└─ .com — TLD
= FQDN (полное имя)
Адреса в браузере:
https://subdomain.example.com:8080/path?query=value#fragment
└──────────────────────┘
Это доменное имя
┘
Протокол указывает путь передачи
Срок действия домена
# Доменное имя нужно обновлять ежегодно
# Сценарий:
# 1. Ты регистрируешь example.com на 1 год
# 2. Платишь ~$12 в год
# 3. Через год домен может истечь
# 4. Регистратор может предложить обновление
# 5. Если не обновить в течение grace period (15-30 дней)
# → домен может быть куплен кем-то другим
# 6. После этого идёт redemption period (30 дней)
# → можно восстановить за +$80
# 7. Затем домен удаляется и становится доступным для всех
Защита доменного имени
# Domain Lock (блокировка домена)
# Регистратор может заблокировать домен от перевода
# WHOIS Privacy (приватность)
# Скрыть реальные данные владельца в WHOIS
# 2FA (двухфакторная аутентификация)
# Для доступа к панели управления доменом
# DNSSEC (безопасность DNS)
# Криптографическая подпись DNS записей
Ключевые моменты
- Доменное имя это человеко-читаемый адрес вместо IP
- TLD (.com, .ru, .org) управляются организациями
- Поддомены (www, api, mail) создаются через DNS записи
- DNS преобразует имена в IP адреса
- Надо обновлять доменное имя каждый год
- A запись связывает домен с IPv4 адресом
- CNAME создаёт альтернативные имена для домена