Files
progcode/editorial/reviews/2027-05-draft.md
T
2026-07-31 22:26:56 +03:00

53 lines
7.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Май 2027 — техническая вычитка HTTP/TLS
Пакет состоит из трёх самостоятельных статей. Общая тема — диагностика сетевой ошибки по уровню, но вопросы, примеры, таблицы и схемы у материалов разные.
| Статья | Body без источников | Практический результат |
| --- | ---: | --- |
| <code>editorial-2027-05-practice-http-tls-guide</code> | 5 768 | локальный HTTP-сервер, разделение 404/503/TLS |
| <code>editorial-2027-05-mechanism-http-tls-guide</code> | 6 261 | обмен заголовками и границы DNS/TCP/TLS/HTTP |
| <code>editorial-2027-05-field-http-tls-guide</code> | 6 012 | очищенная карточка сетевой ошибки и sanitizer |
## Проход 1 — факты, пример и источники
| Статья | До | После | Причина |
| --- | --- | --- | --- |
| Practice | Ошибка сертификата и HTTP-статус описывались рядом как одна проблема. | Добавлено правило: после успешной проверки TLS и получения <code>404</code> проверяем HTTP-маршрут; при исключении TLS статус приложения не ищем. | Разделить этапы запроса и не назначать HTTP-код до завершения TLS. |
| Mechanism | <code>Host</code> и пользовательский request id могли выглядеть доказательством источника ответа. | Добавлена оговорка про <code>:authority</code> в HTTP/2/3 и доверенную границу генерации request id. | Заголовок сообщения не подтверждает origin сам по себе. |
| Field | Очистка была описана вокруг <code>Authorization</code> и Cookie. | Добавлена проверка proxy-аутентификации и значений после redirect; sanitizer сохраняет имя поля и маскирует значение целиком. | Снизить риск утечки секрета при передаче verbose-вывода. |
Проверены первичные источники:
1. [RFC 9110 — HTTP Semantics](https://www.rfc-editor.org/rfc/rfc9110.html), IETF Standards Track, June 2022. Использован для методов, статусов, маршрутизации и заголовков. Граница: документ не объясняет конфигурацию конкретного proxy или сервиса.
2. [RFC 8446 — TLS 1.3](https://www.rfc-editor.org/rfc/rfc8446.html), IETF Standards Track, August 2018. Использован для рукопожатия и проверки имени. Граница: RFC не подтверждает доверие к локальному хранилищу сертификатов.
Обе ссылки отвечают HTTP 200 при прямом запросе. Все утверждения о конкретном выводе отделены от словаря RFC; локальный сервер маркирован как учебный.
## Проход 2 — структура, голос и плотность
| Статья | До | После | Причина |
| --- | --- | --- | --- |
| Practice | Вводная часть начинала с общего «SSL не работает». | В первых абзацах названы 404, 503, ошибка имени сертификата и стоимость неверного уровня; затем сразу дана таблица «наблюдение → действие». | Вернуть текст к формуле «симптом → причина → проверка». |
| Mechanism | Объяснение границ и заголовков шло одним длинным блоком. | Материал разделён на пять границ, локальный обмен и отдельную таблицу безопасных полей. | Один раздел отвечает на один вопрос и читается с телефона. |
| Field | Передача вывода описывалась как совет «удалить секреты». | Появились карточка с фактами/гипотезой, ожидаемый вывод sanitizer и шесть последовательных шагов. | Сделать следующий запрос воспроизводимым. |
Голос — спокойный технический разбор с конкретными глаголами: «получен», «сверить», «сопоставить», «повторить». Внутренние планы, развитие автора и редакционные статусы в HTML отсутствуют.
## Проход 3 — визуал, доступность и повторы
| Статья | До | После | Причина |
| --- | --- | --- | --- |
| Practice | Старая схема показывала внутреннюю проверку материала. | SVG заменён на цепочку DNS/TCP → TLS → HTTP → handler с русскими <code>title</code>/<code>desc</code>; <code>alt</code> и подпись называют границу остановки. | Рисунок теперь объясняет предмет статьи. |
| Mechanism | Таблица симптомов была нечитаема без контекста. | SVG стал матрицей «симптом → граница → первое действие», HTML-таблица получила явный caption и <code>scope</code>. | Сохранить смысл при ширине 375 px. |
| Field | Схема hand-off говорила о передаче статуса. | SVG показывает сбор, очистку, сверку и повтор; caption отдельно предупреждает о факте и гипотезе. | Убрать мета-лексическую интерпретацию из визуала. |
<code>xmllint --noout</code> и SVG safety scan прошли для трёх файлов. Sharp отрендерил <code>375×240</code>, <code>375×250</code>, <code>375×250</code>; ручной просмотр не выявил обрезания, наложений или нечитабельной подписи. Визуалы не содержат script, <code>foreignObject</code>, <code>javascript:</code>, <code>data:image</code> или event handler.
## Итоговые проверки
- <code>node --check scripts/upgrade-2027-05.mjs</code> — PASS.
- <code>node scripts/upgrade-2027-05.mjs --verify-fixture</code> — PASS, <code>7/7</code>.
- <code>npm run audit:draft -- scripts/upgrade-2027-05.mjs</code> — PASS, 3/3 exact slugs.
- Три извлечённых <code>&lt;pre&gt;&lt;code&gt;</code> запущены через Node на loopback/локальных данных — <code>3/3</code>.
- В сквозном сравнении 349 материалов, 4 176 сравнений, sources исключены, code включён; совпадений 12-словных фрагментов — <code>0</code>.