Методология Health Score — v1.0
1. Security Headers — 30 pts
| Заголовок | Вес |
|---|---|
| Strict-Transport-Security (HSTS) | 6 |
| Content-Security-Policy | 6 |
| X-Content-Type-Options | 4 |
| X-Frame-Options | 4 |
| Referrer-Policy | 3 |
| Permissions-Policy | 3 |
| X-XSS-Protection | 2 |
| Cross-Origin-Opener-Policy | 2 |
Веса соответствуют приоритетам OWASP Secure Headers Project. HSTS и CSP несут максимальный вес, потому что закрывают самые крупные классы атак (downgrade + injection). Заголовок отсутствует → 0 баллов; присутствует (любое непустое значение) → полный вес.
2. SSL/TLS — 25 pts
- 10 pts — валидный сертификат (цепочка доверена, не отозван)
- 5 pts — hostname совпадает с CN/SAN
- 5 pts — истекает через >30 дней (3 если 7–30, 0 если <7)
- 5 pts — установлено TLS 1.2 или TLS 1.3
Нет HTTPS → 0 баллов (вся 25-балльная категория потеряна). Опорный стандарт: Mozilla Server-Side TLS Guidelines.
3. Performance — 25 pts
- 15 pts — TTFB < 800 ms (полные); 10 баллов 800–1500 ms; 5 баллов 1500–3000 ms; 0 если >3000 ms
- 5 pts — ответ < 500 KB (3 балла 500 KB–2 MB; 0 если >2 MB)
- 5 pts — 0–1 редирект (3 балла если 2; 0 если 3+)
Пороги TTFB совпадают с границами "Good"/"Needs Improvement"/"Poor" Google Core Web Vitals. Penalties по размеру и редиректам — оценочные, основаны на том, что стабильно ухудшает реальный пользовательский опыт в наших RUM-данных.
4. Best Practices — 20 pts
- 8 pts — итоговый URL — HTTPS
- 6 pts — статус ответа 200 или 301/302 на 200
- 3 pts — установлен Content-Type
- 3 pts — ответ сжат gzip / br
Буквенная оценка
| Баллы | Оценка |
|---|---|
| 90–100 | A+ |
| 80–89 | A |
| 70–79 | B |
| 60–69 | C |
| 50–59 | D |
| 0–49 | F |
Источники
- OWASP Secure Headers Project
- Mozilla Server-Side TLS Guidelines
- web.dev: Time to First Byte (TTFB)
- NIST SP 800-52 Rev. 2 — TLS Implementation Guidelines
Версионирование
v1.0 — опубликовано 2026-05-05. Зеркалит api/health-score.php на коммит fab3b25 (Wave 1 SEO-аудита). Будущие изменения весов поднимут версию и добавят delta-блок снизу страницы — исторические цитаты останутся воспроизводимыми.