53 lines
7.4 KiB
Markdown
53 lines
7.4 KiB
Markdown
# Май 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><pre><code></code> запущены через Node на loopback/локальных данных — <code>3/3</code>.
|
||
- В сквозном сравнении 349 материалов, 4 176 сравнений, sources исключены, code включён; совпадений 12-словных фрагментов — <code>0</code>.
|