correct HTTP cache validator examples
Build and deploy / deploy (push) Successful in 14s

This commit is contained in:
2026-07-31 10:35:30 +03:00
parent 238c1f7688
commit 368fa96733
2 changed files with 26 additions and 5 deletions
+16 -1
View File
@@ -22,6 +22,7 @@
| <code>no-cache</code> допускает хранение, но требует проверки перед повторным использованием; <code>no-store</code> — иной запрет | [RFC 7234, 5.2](https://www.rfc-editor.org/rfc/rfc7234#section-5.2) | Директивы объяснены для HTTP-кэшей; они не названы защитой от логов, истории и утечек в произвольных слоях |
| <code>Vary</code> связывает сохранённый вариант с полями запроса, повлиявшими на представление | [RFC 7234, 4.1](https://www.rfc-editor.org/rfc/rfc7234#section-4.1) | Для CDN прямо сохранена оговорка: конкретный cache key нужно сверить с документацией и конфигурацией поставщика |
| ETag и If-None-Match позволяют условную проверку с ответом 304 | [RFC 7234, 4.3](https://www.rfc-editor.org/rfc/rfc7234#section-4.3) и [MDN: HTTP caching](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Caching) | Не утверждается, что ETag обязан быть криптографическим хешем или что каждый origin всегда даст 304 |
| Entity-tag в заголовке If-None-Match сохраняет кавычки | [RFC 7232, 2.3](https://www.rfc-editor.org/rfc/rfc7232#section-2.3) | В примерах используется конкретный entity-tag; реальный ETag нужно взять из ответа своего тестового origin |
| <code>add_header</code> — директива nginx, а не готовый контракт приложения | [ngx_http_headers_module](https://nginx.org/en/docs/http/ngx_http_headers_module.html) | Конфигурационный фрагмент отмечен как учебный; наследование заголовков, ошибки и CDN остаются проверкой конкретного проекта |
- Источники RFC 7234 существовали к 2019 году и подходят историческому
@@ -36,7 +37,9 @@
- В первом самостоятельном синтаксическом проходе был найден неверно
экранированный перенос строки в учебной curl-команде. Он устранён до
draft-gate: команды сделаны однострочными, а повторный <code>node --check</code>
прошёл.
прошёл. Дополнительный факт-проход нашёл отсутствие кавычек вокруг entity-tag
в двух командах <code>If-None-Match</code>; после сверки с RFC 7232 кавычки
возвращены, а source list дополнен первичным источником.
Вердикт: **пройдено**. У каждого тезиса есть ограничение, а код показывает
проверку, не выдавая её за измерение в этом workspace.
@@ -92,3 +95,15 @@ slug прошли объём 8 068 / 8 174 / 8 949 знаков, figure, таб
Выпусковой вердикт: **принят к публикации**. <code>articles.json</code> не
менялся; registry заменяет только редакционные поля по стабильному slug.
## 4. Корректировка после публикации — пройдена
После публикации дополнительный факт-проход заметил, что два учебных примера
передавали значение <code>If-None-Match</code> без обязательных кавычек
entity-tag. Ошибка не меняла архитектурный вывод, но делала копируемую команду
неточной. Примеры исправлены на <code>"catalog-v42"</code> и
<code>"catalog-ru-v18"</code>, а в источники добавлен RFC 7232, раздел 2.3.
Повторно прошли <code>node --check</code>, draft-gate, строгий аудит трёх slug,
XML-проверка SVG и production build на 374 страницы. Корректировка принята
отдельным выпускным коммитом поверх существующей истории.