Вопрос с собеседования · Основы

Что делает CDN и когда он нужен?

JuniorСети
Ещё спрашивают так:
  • Зачем сайту CDN?
  • Как CDN кэширует файлы?
Коротко

CDN — сеть серверов по всему миру (или стране), которые кэшируют копии ваших файлов и отдают их пользователю с ближайшего узла. Сайт грузится быстрее (меньше расстояние и задержка), основной сервер разгружается, а всплески трафика и часть атак поглощает CDN. Что и сколько кэшировать, определяют заголовки Cache-Control; при обновлении файлы инвалидируют или дают им новые имена (хеш в имени: app.3f2a.js).

  • Статика (картинки, JS, CSS, видео) — главный кандидат
  • Персональные ответы API обычно не кэшируют или кэшируют осторожно
  • CDN часто сам выпускает сертификат и терминирует HTTPS

А ещё Хеш в имени файла + долгий max-age — простое и надёжное кэширование статики

Подробно

Как работает: DNS домена указывает на CDN; пользователь приходит на ближайший узел; если файла в кэше нет — узел забирает его с исходного сервера (origin), сохраняет и отдаёт; следующие пользователи получают копию из кэша.

Заголовки:

Cache-Control: public, max-age=31536000, immutable   # app.3f2a.js
Cache-Control: no-cache                               # index.html

HTML проверяется каждый раз, а ресурсы с хешем в имени кэшируются на год: новая версия получает новое имя.

Что хотят услышать

  • Кэширование на ближайших узлах.
  • Скорость, разгрузка, защита.
  • Cache-Control и инвалидация.
  • Что кэшировать, а что нет.

Проверьте себя

Один верный вариант. Подумайте, потом откройте ответ.

Показать варианты и ответ
  • ✗CDN — это резервная копия базы данных
  • ✓CDN кэширует файлы на серверах рядом с пользователями: сайт быстрее, основной сервер разгружен; кэшированием управляет Cache-Control
  • ✗CDN хранит единственную копию сайта вместо основного сервера и отдаёт одинаковые ответы всем, включая персональные данные API
  • ✗CDN замедляет загрузку, потому что добавляет промежуточный узел

Связанные вопросы

Партнёр платформы

Разбор собеседования с sotto

После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.

Разбор собеседования