intermediate
Mixed content
Объясняйте почему HTTPS pages block или upgrade insecure subresources, как mixed content ломает apps и как помогают CSP и asset hygiene.
Mixed content — HTTPS-страница загружает подресурсы по HTTP. Браузеры блокируют active mixed content (scripts, XHR, iframes) и могут предупреждать или апгрейдить passive (images, video).
Для backend: API с `http://` в конфиге фронта ломается после HSTS. Redirect chains с downgrade на HTTP дают скрытые сбои. CSP `upgrade-insecure-requests` помогает мигрировать legacy URL.
Content-Security-Policy: upgrade-insecure-requests
Strict-Transport-Security: max-age=31536000; includeSubDomains
Node-сервисы должны строить absolute URL со схемой из доверенной конфигурации (`X-Forwarded-Proto` за proxy), а не только из Host от клиента.
На интервью: сломанный login после HTTPS; HSTS preload; отделите browser mixed-content от исходящего HTTP сервера.
Типовые ошибки: `http://` API base в SPA; доверие `X-Forwarded-Proto` без trusted proxy; смешанные схемы WebSocket.
Компромисс — между простотой, производительностью, безопасностью и эксплуатацией: назовите, что оптимизировали и какую цену приняли.
Чеклист:
- Все browser-facing ресурсы по HTTPS.
- URL из доверенного base config.
- HSTS после полного HTTPS coverage.
- Аудит third-party embeds на HTTP.