awesome-everything EN
↑ Обратно к восхождению

Сети и протоколы

CDN и edge: чтение заголовков и трейсов

Суть Читай реальные заголовки ответа, строку Cache-Control, обработчик edge worker и CDN-трейс, затем выбирай поведение или фикс с наибольшим рычагом.
Высота — путь к senior
НольJuniorMiddleSenior
Ты на senior-высоте — в орбите
◷ 14 min

Проблемы CDN диагностируются в заголовках ответа, строках Cache-Control и логах edge — не в прозе. Прочитай каждый артефакт, предскажи, что реально делают кеш и worker, затем выбери фикс, к которому senior тянется первым.

Цель

Отработай цикл каждого инцидента CDN: читай заголовки и трейс, предсказывай кешируемость и hit rate, выбирай изменение с наибольшим рычагом до того, как трогать маршрутизацию или origin.

Сниппет 1 — заголовки ответа

HTTP/2 200
cache-control: public, max-age=3600
vary: User-Agent, Accept-Encoding, Cookie
cf-cache-status: MISS
age: 0
Викторина

Hit rate на этом кешируемом HTML около 5%. Читая только эти заголовки, какова доминирующая проблема и фикс?

Сниппет 2 — строка Cache-Control

Cache-Control: public, max-age=60, stale-while-revalidate=600, stale-if-error=86400
Викторина

Эндпоинт листинга товаров шлёт это. Опиши, что делает общий кеш CDN на 0-й секунде, на 120-й секунде и во время 8-минутного сбоя origin на 300-й секунде.

Сниппет 3 — edge worker

export default {
  async fetch(req, env) {
    const page = await fetch(req);                 // кешируемые chrome + body
    const price = await fetch(env.PRICING_URL);    // на пользователя, не кешируется
    return new HTMLRewriter()
      .on("#price", { element(e) { e.setInnerContent(price.statusText); } })
      .transform(page);
  },
};
Викторина

Этот worker edge-side composition верен по форме, но имеет баг латентности на критическом пути. Какой и каков фикс?

Сниппет 4 — CDN-трейс

$ curl -sI https://example.com/article/42 | grep -iE 'cache|age|via'
cf-cache-status: HIT
age: 7200
cache-control: public, max-age=86400
Викторина

Ты выкатил исправленную версию /article/42 десять минут назад, но пользователи всё ещё видят старый текст. Читая этот трейс — почему и каков самый быстрый верный фикс?

Итог

Каждый инцидент CDN читается в заголовках и трейсах: заголовок Vary с User-Agent или Cookie фрагментирует cache key на запрос и обваливает hit rate; max-age плюс stale-while-revalidate и stale-if-error задают окно свежести, безопасное к stampede окно stale и fallback на сбой; worker edge-композиции должен распараллелить свои fetch и ограничить волатильный таймаутом и fallback; а HIT с age меньше max-age означает устаревший деплой, который снимет только purge. Диагностируй по артефакту, применяй фикс с наибольшим рычагом, затем перепроверь тот же заголовок.

Продолжить восхождение ↑CDN и edge: собери и настрой слой edge-доставки
хоткеи развернуть
поиск
K
пред. пьеса
k
след. пьеса
j
тиры
t
это меню
?
sources3
expand
  1. 01
  2. 02
  3. 03

Trademarks belong to their respective owners. Editorial reference only.